我在该字段上有一个具有以下架构的数组字段:
parents:
type: 'Array'
required: true
当我尝试使用以下数据创建文档时:
data =
parents: []
Translation.create data, (err, translations) ->
console.log err, translations
我收到以下错误:
ValidationError: Path `parents` is required.
如果我在数组中放入一个值,它会起作用,如下所示:
data =
parents: ['blah']
同样,如果我从架构中删除required: true
,它也会开始工作。
是否认为空数组不能满足“必需”验证的要求? 我知道它在 javascript 中是错误的,但是在很多情况下,Mongo 文档中都打算使用空数组和对象。
同意,我们也被这件事绊倒了。
我们假设required: true
行为是存在一个数组,而不是一个至少需要一个元素的数组。
同意必需的数组字段应接受空数组。 我一直是这样想的,直到昨天我遇到了猫鼬问题。
将关闭它以支持#5139。 将在 5.0 中更改此行为。
最有用的评论
同意必需的数组字段应接受空数组。 我一直是这样想的,直到昨天我遇到了猫鼬问题。