我正在尝试构建一个包含企业,企业用户和用户的应用。我想出了这些模式/模型。
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的情况下填充用户。