我有一个看起来像这样的猫鼬模型:
var ProjectSchema = new Schema({
name: { type: String, required: true },
tags: [{ type: String, required: true }]
});
我希望项目至少有一个标签是必需的。但是当我保存没有标签数组的新项目时,mongoose不会抛出错误:
var project = new Project({'name': 'Some name'});
project.save(function(err, result) {
// No error here...
});
我在这里错过了什么?如何指定所需的数组?
AFAIK,您需要将type
设置为Array
并添加自定义验证器以确保每个条目都是String
:
tags : {
type : Array,
required : true,
validate : {
validator : function(array) {
return array.every((v) => typeof v === 'string');
}
}
}