我正在使用以下方法将对象数组插入到 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/