Node.js 在nodejs mongodb驱动程序中插入许多无序/连续错误

Node.js 在nodejs mongodb驱动程序中插入许多无序/连续错误,node.js,mongodb,bulkinsert,Node.js,Mongodb,Bulkinsert,这适用于我的本地: db.collection('test').insert(docsArray, {ordered: false}); Mongo v2.6.10 NodeJS驱动程序v2.0.45 但是,相同的代码在服务器上失败: Mongo v2.6.11 NodeJS驱动程序v2.0.45 我不明白为什么 关于insert的说法已经被证明有利于insertOne/insertMany/bulkWrite。因此,我尝试使用这些新功能,但没有用。我希望它悄悄地跳过错误并插入剩余的文档。 现

这适用于我的本地:

db.collection('test').insert(docsArray, {ordered: false});
Mongo v2.6.10

NodeJS驱动程序v2.0.45

但是,相同的代码在服务器上失败:

Mongo v2.6.11

NodeJS驱动程序v2.0.45

我不明白为什么

关于
insert
的说法已经被证明有利于
insertOne
/
insertMany
/
bulkWrite
。因此,我尝试使用这些新功能,但没有用。我希望它悄悄地跳过错误并插入剩余的文档。 现在,
insertMany
没有无序插入,而
bulkWrite
没有
insertMany
目前的官方做法是什么?

找到了:

var bulk = db.collection('test').initializeUnorderedBulkOp();
for (var i = 0; i < docs.length; i++) {
   bulk.insert(docs[i]);
};
bulk.execute(function (err, result) {
   db.close();
});
var bulk=db.collection('test')。初始化eunorderedbulkop();
对于(变量i=0;i
你试过
{w:1,keepGoing:true}
而不是
{ordered:false}
?@marekful我刚刚试过(用
insert
insertMany
)。它失败了。在文档中有一些例子是关于keepGoing的(用于插入)。不适用于我。。。使用完全相同的代码。。只有一条记录是插入的我在生产中使用它,因为我发现了它。所以我不得不说,你可能遗漏了一些东西,或者使用不当。请检查bulk.execute返回的错误。我正以完全相同的方式使用它。但是,我的错误出现在自定义索引上,而不是_id字段。我在user.name字段上有一个唯一的索引设置,它应该是唯一的字段。每次运行execute时,插入1个文档后,如果发现重复的密钥,它总是失败。