我的收藏夹中有这些文档。
{"_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)
这很好。但这会在文档中添加“ 香蕉”的重复条目。像这样:
{"_id": 1, "name": "Banana, "quantity": 3}
{"_id": 2, "name": "Banana, "quantity": 4}
{"_id": 3, "name": "Orange, "quantity": 5}
那么无论如何,我可以在更新文档时找出/限制"name"
字段的重复条目吗?
答案 0 :(得分:2)
您可以在name
字段上create unique index,当您尝试插入重复的值时会出现异常:
db.members.createIndex( { "name": 1 }, { unique: true } )