猿问

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

当我使用 insert(docs...) 插入多个文档时,如果文档列表中存在文档中的一个重复键,则操作失败并且无法插入文档。我怎样才能忽略这个错误,所以可以成功插入所有文件,但不能插入重复文件。



慕盖茨4494581
浏览 183回答 1
1回答

幕布斯7119047

默认情况下,当您使用 MongoDB.insertMany()或类似工具插入文档时{ ordered: true },如果在文档数组中插入文档时出现错误,则整个操作将失败,因为不插入该特定文档并在该文档之后休息其他文档。因此,要使此过程无序,您需要将选项传递给.insertMany()is { ordered: false }。参考: MongoDB-insertMany-Unordered-inserts所以当涉及到mgo驱动时,你可能需要使用func (b *Bulk) Unordered().Ref : mgo-无序注意:您最好的选择是检查为什么发生重复键错误以及如果您在数据库上有多个唯一键约束并更正文档或字段上的唯一索引,而不是从插入中跳过文档,则哪个键导致此问题.
随时随地看视频慕课网APP

相关分类

Go
我要回答