MongoDB:将多个文档插入到具有唯一索引的集合中,即使某些文档违反了索引

时间:2017-03-24 03:22:17

标签: node.js mongodb unique mongojs database

我正在尝试将一组文档插入到MongoDB集合中。该集合在其中一个字段上具有唯一索引。我一次插入所有文件:

const mongojs = require('mongojs');
const db = mongojs('mongodb://username:password@address.mlab.com:37230/database');

             // documents is an array of documents
db.items.insert(documents, (err, task) => {
    if (err) {
      console.log(err);
    }
  })

现在有一个文档违反了唯一索引,我收到了这个错误:

  

E11000重复键错误索引:database.items。$ upc_1 dup key:

因此,即使只有一个文档违反了唯一索引,也无法保存任何文档。

我如何告诉Mongo忽略那一个文件并保存所有其他文件?谢谢!

1 个答案:

答案 0 :(得分:3)

您可以将db.collection.insertMany()函数与参数{ordered: false}一起使用。查看文档(它们描述无序插入的底部附近):https://docs.mongodb.com/manual/reference/method/db.collection.insertMany/