对我来说,执行以下操作似乎是合乎逻辑的:
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。
这些模式的正确模式是什么?
谢谢!