エンタープライズ、エンタープライズ ユーザー、およびユーザーを含むアプリを構築しようとしています。私はこれらのスキーマ/モデルを思いつきました。
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 を指定してユーザーを入力する方法を判断できません。