MongoDB:将多个文档插入具有唯一索引的集合中,即使有些文档违反了索引
MongoDB: Insert multiple documents into collection with unique index even if some violate the index
我正在尝试将文档数组插入到 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 duplicate key error index: database.items.$upc_1 dup key:
因此,NONE 个文档得到保存,即使只有一个文档违反了唯一索引。
如何让 Mongo 忽略该文档并保存所有其他文档?谢谢!
您可以使用带有参数 {ordered: false}
的 db.collection.insertMany()
函数。请参阅文档(在描述无序插入的底部附近):https://docs.mongodb.com/manual/reference/method/db.collection.insertMany/
我正在尝试将文档数组插入到 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 duplicate key error index: database.items.$upc_1 dup key:
因此,NONE 个文档得到保存,即使只有一个文档违反了唯一索引。
如何让 Mongo 忽略该文档并保存所有其他文档?谢谢!
您可以使用带有参数 {ordered: false}
的 db.collection.insertMany()
函数。请参阅文档(在描述无序插入的底部附近):https://docs.mongodb.com/manual/reference/method/db.collection.insertMany/