次のようなことをするのは理にかなっているように思えます。
var AvatarSchema = new Mongoose.Schema({
type: String,
url: String
});
var UserSchema = new Mongoose.Schema({
avatars: [AvatarSchema],
email: String,
name: String,
salt: String,
token: String
});
var ThinUserSchema = new Mongoose.Schema({
avatars: [AvatarSchema],
email: String,
firstname: String,
lastname: String,
});
var QuestionSchema = new Mongoose.Schema({
question: String,
users: [ThinUserSchema]
});
それから後で。. .次のようにします。
var question = new Question({
question: 'Wut?',
users: users //where users is an array of instances of a user model of the UserSchema
});
ここでは、質問のユーザー セクションにアバター、電子メール、姓名が入力されることを期待します。. ただし、ユーザー/アバターには既に _id があるため、これらは保持されません。
- ユーザー/アバターから各 _id を削除するのはばかげているようです。
- 各ユーザー/アバターを明示的に設定するのは非効率的です。
- 混合タイプに切り替えると、すべてがそこに配置され、markModified が必要になります。
これらの種類のスキーマの適切なパターンは何ですか?
ありがとう!