我已经定义了以下 Mongoose 模式
var subSchema = new Schema({
propertySub: {type: String, required: true}
});
var mainSchema = new Schema({
mainProperty: {type: String, required: true},
subs: [subSchema]
});
正如您可能看到的
subSchema
上有一个必需的属性,问题是我希望 mainSchema
至少需要一个 subSchema
,但是当我发送一个{
"mainProperty" : "Main"
}
没有失败。
我试过类似的东西
subs: [{
type: subSchema,
required: true
}]
但它抛出以下内容:
所以无论如何要这样做?,也许使用
validate
我是 node 和 mongoose 的新手,因此将不胜感激 最佳答案
是的,您要么想要使用验证,要么可以根据需要使用预存钩子(Hook)进行验证。这是使用验证的示例
var mainSchema = new Schema({
mainProperty: {type: String, required: true},
subs: {
type: [subSchema],
required: true,
validate: [notEmpty, "Custom error message"]
}
});
function notEmpty(arr) {
return arr.length > 0;
}
关于node.js - 所需的子文件 Mongoose,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43037643/