javascript - MongoDB插入多个文档,其中可能有重复的_id

标签 javascript performance mongodb error-handling

我正在使用以下方法将对象数组插入到 MongoDB 中(我正在分配一个唯一的 _id),它正在工作:

collection.insert(records, {w:1}, function(err, result) 

某些记录可能有重复的_id(意味着该记录已经在数据库中)。这是我得到的错误:

MongoError: E11000 duplicate key error index: heroku_app23495772.records.$_id_  dup key: { : "2b09aadb900f0e5112b6d03f665fb946" }

即使在第一个对象(重复)上遇到错误后,mongoDB是否仍会在此数组中插入剩余的对象?我真的不介意这个错误,如果它不会阻止插入不重复的剩余文档或对其他任何内容产生负面影响。

或者,我应该在发送对象数组之前查询数据库中的每个对象以查看它是否存在吗?我认为这样做对于性能来说并不是最好的事情。

我只是想找出处理这些重复项的最有效方法。

最佳答案

好吧,我终于成功了。包含 continueOnError: true 将继续插入批处理的其余部分,即使某些内容由于重复而未插入。

collection.insert(records, {continueOnError: true}, function(err, result) {

关于javascript - MongoDB插入多个文档,其中可能有重复的_id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22744552/

相关文章:

java - 如何调整 wicket 应用程序的性能

mongodb - 如何高效地对 MongoDB 未索引字段进行复杂查询?

mongodb - 使用 Golang 和 mgo 从 Collection MongoDB 中获取元素

javascript - 如何修复此 ""ESLing 错误?

javascript - 如何生成3个名字不重复的名字

javascript - 使用 setTimeout 提高响应能力

Mongodb:如何给出多个条件?

javascript - Highcharts 多色线

javascript - 如何在 html 应用程序中保护用于解析的 Rest API key

java - URI.create() 与新 URI()