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、および role が必要です。入力を試みましたが、enterpriseUsersSchema を指定してユーザーを入力する方法を判断できません。

4

0 に答える 0