我有一组代码,我从CSV填充。总共有1.5M代码,相当多。 CSV很容易解析为对象或形式:
codes = [
{code:'abc'},
{code:'123'},
etc
]
我最初尝试在一个插件中将它写入Mongo,就像这样
Code.collection.insert(codes)
(使用Mongoose直接撰写查询)。
然而这无声地失败了。假设存在某种隐藏内存问题,我开始对我的代码进行分块,发现Mongo 2.6(在我的16Gb Macbook上本地运行,没有副本集)可以在一个插入中接受大约1000个代码。
这是预期的行为吗?如果有,这个数字是否有任何理由?
答案 0 :(得分:0)
尝试使用 Bulk Operation Methods 进行插入,特别是您需要 db.collection.initializeOrderedBulkOp()
方法,该方法可以使用{{1在Mongoose中公开访问者对象。因此,在上面您可以重新构建插入以执行批量更新,如下所示:
Model.collection