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集合中插入重复的文档所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)