我正在尝试构建一个拥有企业、企业用户和用户的应用程序。我想出了这些模式/模型。
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 和角色。我已经尝试填充,但我无法确定如何填充给定企业用户架构的用户。