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

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

概述让我们有一个MongoDB集合有三个文档.. db.collection.find() { _id:'...', user: 'A', title: 'Physics', Bank: 'Bank_A' } { _id:'...', user: 'A', title: 'Chemistry', Bank: 'Bank_B' } { _id:'...', user: 'B', title: ' 让我们有一个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})
总结

以上是内存溢出为你收集整理的数据库 – 如何停止在mongodb集合中插入重复的文档全部内容,希望文章能够帮你解决数据库 – 如何停止在mongodb集合中插入重复的文档所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1152613.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存