我有这个 Node.js 应用程序,它获取大量具有唯一 ID 的 JSON 数据,然后使用 Mongojs 将它们插入到 MongoDB 中。
问题是在这个庞大的数据数组中,可能会有一些重复的文档!所以当使用 Mongojs 插入这些数据时,它会返回错误E11000 duplicate key error
并且不会继续插入。
所以我正在寻找的是类似于continueOnError/keepGoing
本地 Mongo 的选项。它会忽略重复项并继续insert
.
http://mongodb.github.io/node-mongodb-native/api-generated/collection.html#insert
如果有帮助,这是我的代码:
var mongojs = require('mongojs'),
dburl = process.env.MONGOHQ_URL || 'mongodb://localhost/test',
db = mongojs(dburl, ['concerts']);
function insertData(data) {
db.concerts.insert(data, {keepGoing: true, safe: true}, function(err, docs){
console.log('err: ' + err + ' docs:' + docs);
if(!err) console.log('data inserted successfully!\n');
});
}
exports.insertData = insertData;
在这段代码中,我将选项设置为 true,但它仍然不起作用(同样的错误)。
无论如何我可以用 Mongojs 做到这一点,还是我必须使用 native-mongo?
提前致谢。