我有一个使用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中插入许多文档?
由于