我正在创建一个Mongo文档的架构,我可以做到除了在非对象数组中防止重复项。我知道有addToSet,但我是指Mongo Schema。我不想使用$addToSet在更新时进行检查,而是希望它成为我的架构验证的一部分。下面是示例。
上面的代码片段可以防止name有重复的值。它允许将标签存储为字符串数组。
但是,我无法限制数组只包含唯一的字符串。
let sampleSchema = {
name: { type: 'String', unique: true },
tags: [{ type: 'String', unique: true }]
}
上面的代码片段可以防止name有重复的值。它允许将标签存储为字符串数组。
但是,我无法限制数组只包含唯一的字符串。
{ name: 'fail scenario', tags: ['bad', 'bad', 'array']}
我可以插入这条记录,但实际上应该是一个失败的场景。