为了账号安全,请及时绑定邮箱和手机立即绑定

如何在使用 MongoDB-mgo 插入许多文档时忽略重复键错误并继续插入?

如何在使用 MongoDB-mgo 插入许多文档时忽略重复键错误并继续插入?

Go
慕盖茨4494581 2022-05-18 16:12:58
当我使用 insert(docs...) 插入多个文档时,如果文档列表中存在文档中的一个重复键,则操作失败并且无法插入文档。我怎样才能忽略这个错误,所以可以成功插入所有文件,但不能插入重复文件。
查看完整描述

1 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

默认情况下,当您使用 MongoDB.insertMany()或类似工具插入文档时{ ordered: true },如果在文档数组中插入文档时出现错误,则整个操作将失败,因为不插入该特定文档并在该文档之后休息其他文档。因此,要使此过程无序,您需要将选项传递给.insertMany()is { ordered: false }

参考: MongoDB-insertMany-Unordered-inserts

所以当涉及到mgo驱动时,你可能需要使用func (b *Bulk) Unordered().

Ref : mgo-无序

注意:您最好的选择是检查为什么发生重复键错误以及如果您在数据库上有多个唯一键约束并更正文档或字段上的唯一索引,而不是从插入中跳过文档,则哪个键导致此问题.


查看完整回答
反对 回复 2022-05-18
  • 1 回答
  • 0 关注
  • 182 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信