在我的模式中,我需要有一个数组,它必须始终不为null且未定义。
所以我定义了它是必需的,但是验证没有按照我的预期工作,因为如果我省略了属性,则不会抛出错误。
如果是简单的属性(不是数组),这就像我预期的那样工作
const nodeSchema = new Schema({
address: { type: String, required: true },
outputs: { type: [String], required: true }
})
答案 0 :(得分:0)
数组隐式地具有默认值[](空数组)。
这是问题
答案 1 :(得分:0)
我认为您可以通过添加自定义验证器来解决此问题:
const nodeSchema = new Schema({
address: { type: String, required: true },
outputs: {
type: [String],
required: true,
validate: [(value) => value.length > 0, 'No outputs'],
}
})
希望对您有帮助。