mongoDB批量插入块服务器

时间:2016-06-02 22:30:03

标签: node.js mongodb bulkinsert

我有一个使用MongoDB 3.2版的node.js Web应用程序。

我正在尝试使用批量插入将160,000个小文档(包含短文本)插入到集合中。

它工作正常,在我的机器上完成大约需要20秒。问题是,在20秒内,Web应用程序几乎完全被阻止,因此任何请求都会挂起,直到插入操作完成。

var bulk = this.collection.initializeUnorderedBulkOp();
for (var i = 0; i < ctx.models.length; i++)
{
  var model = ctx.models[i];
  bulk.find({
    guid: model.guid
  })
  .upsert()
  .updateOne(model); 
}
bulk.execute();

当我更改上面的代码并改为使用initializeOorderedBulkOp时,它的效果会更好但网站仍然非常慢。

我无法相信MongoDB的写性能差。操作需要很长时间不是问题,但阻止整个应用程序是不可接受的。

是否还有其他方法可以在mongoDB中插入许多文档?

由于

0 个答案:

没有答案