我有一个Mongoose数据库对象,该对象包含一个保存“用户签名”的集合,该签名必须是唯一的,即,签名的重复项不能出现在该集合中。
为此,我将unique: true
标志放在signature
模式对象中的字段上,但这仍然不能防止其重复,但是可以在title
查询中使用
您可以修改您的filter
并包括$elemMatch
条件,以确保您要插入到数组中的元素不存在:
let filter = { _id: id, signatures: { $not: { signature: signature } } };
因此,如果您尝试插入新signature
文档,则将找到该文档,_id
否则过滤器部分将不返回任何匹配的文档,并且update
不会应用您的文档。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句