/ / समूह और कंपनी MongoMapper के उपयोगकर्ता संबंध - रूबी, मोंगोडब, मोंगोमैपर, डेटाबेस

समूह और कंपनी के साथ उपयोगकर्ता संबंध MongoMapper - रूबी, mongodb, mongomapper, डेटाबेस

मुझे एक ऐसी प्रणाली बनाने की आवश्यकता है जहां एक उपयोगकर्ता कर सकता हैएक उपयोगकर्ता खाते के साथ लॉगिन जहां एक उपयोगकर्ता व्यवस्थापक या संपादक जैसे समूह का सदस्य है। इसके अलावा एक उपयोगकर्ता एक कंपनी का एक सदस्य है। समूहों और कंपनी के दोनों मामलों में उनके कई उपयोगकर्ता हो सकते हैं, लेकिन उपयोगकर्ता केवल एक कंपनी और कई समूहों के सदस्य हो सकते हैं।

मैं जिन संबंधों से बाहर निकल सकता हूं, वह यह है कि एक समूह के कई उपयोगकर्ता हैं, कंपनी के कई उपयोगकर्ता हैं, उपयोगकर्ता के पास एक कंपनी है, उपयोगकर्ता के कई समूह हैं।

लेकिन मेरी समस्या तो मैं कैसे रूबी और mongoMapper के साथ इसे बनाने के लिए? मैंने प्रलेखन और अन्य स्रोतों को देखा है, लेकिन इसका उपयोग या सेट अप करने के तरीके के बारे में अच्छा समाधान या स्पष्टीकरण नहीं मिला है।

अगर किसी के पास करने का बेहतर तरीका है तो वह भी स्वागत करता है।

ये वर्तमान वर्ग हैं जो मैंने लिखे हैं।

class User
include MongoMapper::Document

key :username, String
key :password, String
key :name, String

belongs_to :group
belongs_to :company
end


class Group
include MongoMapper::Document

key :group_id, Integer
key :name, String
key :accesLevel, Integer

many :user
end


class Company
include MongoMapper::Document

key :name, String

many :user
end

उत्तर:

जवाब के लिए 0 № 1

कुछ और गूगल सर्च के बाद मुझे इसका हल मिल गया है।

पहले मैंने उपयोगकर्ता वर्ग को इस तरह बनाया:

class User
include MongoMapper::Document

key :username, String
key :password, String
key :name, String
key :companyID
key :groupID
timestamps!

end

तब समूह और कंपनी वर्ग इस तरह:

class Company
include MongoMapper::Document

key :name, String
timestamps!

end



class Group
include MongoMapper::Document

key :name, String
key :accesLevel, Integer
timestamps!

end

इन वर्गों के साथ मेरी जगह बदल गईनियंत्रक पहले एक कंपनी बनाने के लिए और फिर एक समूह ये भी लोड किया जा सकता है, लेकिन परीक्षण में आसानी के लिए ऐसा करने के लिए आवश्यक नहीं था, इसलिए मुझे इसके लिए कोड लिखने की आवश्यकता नहीं थी।

company = Company.new
company.name = "comp"

group = Group.new
group.name = "admin"

user = User.new
user.name = "user1"
user.username = "user1"
user.password = "passuser1"

user.groupID = group.id
user.companyID = company.id

db_config = YAML::load(File.open("./dbconfig.yml"))

MongoMapper.connection = Mongo::Connection.new(db_config["hostname"])
MongoMapper.database = db_config["name"]

company.save
group.save
user.save