Mongojs:忽略重复的对象插入
我有这个Node.js应用程序,它获得了一个具有唯一ID的JSON数据的大量数据,然后使用Mongojs将它们插入到MongoDB中。
问题是,在这大量的数据中,可能会有一些重复的文件! 所以当使用Mongojs插入这些数据时,它会返回错误E11000 duplicate key error
,并且不会继续插入。
所以我在寻找的东西就像本地Mongo的continueOnError/keepGoing
选项。 它会忽略重复并继续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吗?
提前致谢。
这解决了我的问题,以防万一。
db.concerts.insert(data, {continueOnError: true, safe: true}, function(err, docs){ console.log('err: ' + err); if(!err) console.log('data inserted successfully!\n'); });
来源 : https : //github.com/gett/mongojs/issues/58