适用于企业,企业用户和用户的Mongodb / Mongoose模式

时间:2012-06-07 17:16:38

标签: node.js mongodb mongoose

我正在尝试构建一个包含企业,企业用户和用户的应用。我想出了这些模式/模型。

var enterpriseSchema = new Schema({
    enterpriseId            :    ObjectId,
    enterpriseName          :    {type: String, index: true},
    enterpriseUsers         :    [enterpriseUserSchema],
    owner                   :    {type: ObjectId, ref: 'User'}
});

var enterpriseUserSchema = new Schema({
    user                    :    {type: ObjectId, ref: 'User'},
    role                    :    {type: String, index: true},
    lastAccess              :    Date
});

var userSchema = new Schema({
    userId                  :    ObjectId,
    givenName               :    String,
    middleName              :    String,
    familyName              :    String,
    username                :    { type: String, unique: true, index: true },
    password                :    String,
    enterprise              :    {type: ObjectId, ref: 'Enterprise'}
});

var User = mongoose.model('User', userSchema);
var Enterprise = mongoose.model('Enterprise', enterpriseSchema);

注意enterpriseUsersSchema。这似乎是引用企业用户的合理方式。它是,还是有更好的方法?

如果我使用这些模式/模型,我将如何填充企业用户?我需要每个用户的givenName,familyName和role。我尝试过填充但我无法确定如何在给定enterpriseUsersSchema的情况下填充用户。

0 个答案:

没有答案
相关问题