是否可以在mongoose中使用嵌套模式并在子项上具有必需的验证器?像这样:
const userSchema = new mongoose.Schema({
name: {
type: String,
required: true
}
});
const eventSchema = new mongoose.Schema({
name: {
type: String,
required: true
},
host: {
type: userSchema,
required: true
}
});
我在文档中找不到任何内容。感谢。
答案 0 :(得分:5)
是的,您的架构是正确的。
可以找到mongoose嵌套模式(SubDocuments)的文档here
答案 1 :(得分:1)
答案 2 :(得分:1)
我想你会用user model类型的子文档更新eventSchema。
您可以使用{ runValidators: true}
进行更新。
eventModel.update({ name: 'YOUR NAME' }, { $push: { host: user } }, { runValidators: true}, function(err) {
})
答案 3 :(得分:1)
需要的是在Mongoose(from docs)中添加到架构或子模式的验证器 因此,可以在Mongoose中将子模式或子文档的必填字段设置为true(默认情况下为false)。 您创建的示例架构是正确的。