0

我正在尝试构建一个拥有企业、企业用户和用户的应用程序。我想出了这些模式/模型。

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 和角色。我已经尝试填充,但我无法确定如何填充给定企业用户架构的用户。

4

0 回答 0