数据库 – 如何停止在mongodb集合中插入重复的文档

前端之家收集整理的这篇文章主要介绍了数据库 – 如何停止在mongodb集合中插入重复的文档前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
让我们有一个MongoDB集合有三个文档..

db.collection.find()

{ _id:'...',user: 'A',title: 'Physics',Bank: 'Bank_A' }
 { _id:'...',title: 'Chemistry',Bank: 'Bank_B' }
 { _id:'...',user: 'B',Bank: 'Bank_A' }

我们有一个文件,

doc = { user: 'B',Bank:'Bank_A' }

如果我们使用

db.collection.insert(doc)

这里,这个重复的文档将被插入到数据库中.

{ _id:'...',Bank: 'Bank_A' }

如何停止此副本.哪个领域应该建立索引或任何其他方法

解决方法

不要使用插入.

使用update with upsert=true.更新将查找与您的查询匹配的文档,然后将修改所需的字段,然后,您可以告诉它:如果您希望在没有文档匹配您的查询时插入,则为True.

db.collection.update(
   <query>,<update>,{
    upsert: <boolean>,multi: <boolean>,writeConcern: <document>
   }
  )

所以,举个例子,你可以使用这样的东西:

db.collection.update(doc,doc,{upsert:true})
原文链接:https://www.f2er.com/mongodb/81598.html

猜你在找的MongoDB相关文章