我的收藏中有这些文档。
{"_id": 1, "name": "Banana, "quantity": 3}
{"_id": 2, "name": "Apple, "quantity": 4}
{"_id": 3, "name": "Orange, "quantity": 5}
现在我需要编辑集合中的第二个文档。
var doc = {"_id": 2}
var updateQuery = {"_id": 2, "name": "Banana", "quantity": 4}
var dataModified = { $set: updateQuery };
并使用 updateOne 查询,
db.collection.updateOne(doc, dataModified)
这很好用。但这会在文档中添加“Banana”的重复条目。像这样:
{"_id": 1, "name": "Banana, "quantity": 3}
{"_id": 2, "name": "Banana, "quantity": 4}
{"_id": 3, "name": "Orange, "quantity": 5}
那么,我是否可以在更新文档时找出/限制 "name"
字段的重复条目?
最佳答案
您可以create unique index在 name
字段上,当您尝试插入重复值时,您会收到异常:
db.members.createIndex( { "name": 1 }, { unique: true } )
关于node.js - 如何在不插入重复条目的情况下更新 MongoDB 中的文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55917971/