node.js - Mongojs:忽略重复对象插入

标签 node.js insert duplicates mongojs

我有一个 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');
   });

来源:https://github.com/gett/mongojs/issues/58

关于node.js - Mongojs:忽略重复对象插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16871474/

相关文章:

node.js - 错误!尝试获取 http ://registry. npmjs.org/@typescript-eslint%2feslint-plugin 时响应超时(超过 30000 毫秒)

java - List<String[]> 循环问题

javascript - 在 native Node 的回调中调用回调

node.js - 为什么当通过 process.stdin 流式输入时 Node 会完成/关闭?

javascript - 在 Typescript 前端和 NodeJs 后端之间共享 js 对象的最佳方式

mysql - 插入由多个选择生成的多行

php插入mysql数据库

mysql - 将一堆重复的行插入到 mysql 表中

php - mysql_fetch_assoc 返回重复的行...

java - 比较java中的两个字符串并识别重复的单词