我有一个看起来像这样的 Mongoose 模型:
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...
});
我在这里缺少什么?如何指定需要的数组?
最佳答案
Mongoose 5.x
https://mongoosejs.com/docs/migrating_to_5.html#array-required
tags: {
type: [String],
validate: v => Array.isArray(v) && v.length > 0,
}
Mongoose 4.x单线将是:
tags: {type: [String], required: true}
SchemaTypes
关于validation - Mongoose 需要 Array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36860342/