我有一个 Node.js 应用程序,它获取大量具有唯一 ID 的 JSON 数据,然后使用 Mongojs 将它们插入到 MongoDB 中。
问题是,在这么大的数据数组中,可能存在一些重复的文档!所以当使用Mongojs插入这些数据时,它会返回错误E11000重复键错误
并且不会继续插入。
所以我正在寻找类似原生 Mongo 的 continueOnError/keepGoing
选项。它将忽略重复项并继续插入
。
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?
提前致谢。
最佳答案
这解决了我的问题,以防万一。
db.concerts.insert(data, {continueOnError: true, safe: true}, function(err, docs){
console.log('err: ' + err);
if(!err) console.log('data inserted successfully!\n');
});
关于node.js - Mongojs:忽略重复对象插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16871474/