validation - Mongoose 需要 Array

标签 validation mongoose

我有一个看起来像这样的 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/

相关文章:

node.js - 不将数据从服务方法传递到 mongoose get 路由以使用 Angular IO 查询数据

javascript - JS : dot notation to nested object

node.js - Mongoose Model#保存返回值

bash - 如何使用 shell 验证 IPv6 地址格式?

javascript - Javascript 中日期的渐进式验证

javascript - trim 电子邮件地址中的点

javascript - 使用 Graphql 时在 Mongoose 模式中填充 "Ref"

javascript - MVC FileUpload 文件大小客户端验证

android - EditText 未清除错误消息

node.js - Mongoose :Find and filter nested array