Node.js 同时插入Mongo是否有限制

Node.js 同时插入Mongo是否有限制,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我有一个从CSV填充的代码集合。总共有150万个代码,相当多。CSV很容易解析为对象或形式: codes = [ {code:'abc'}, {code:'123'}, etc ] 我最初试着在一个插页中把它写到Mongo,就像这样 Code.collection.insert(codes) (使用Mongoose直接组合查询) 然而,这一切都悄无声息地失败了。假设存在某种隐藏内存问题,我开始对代码进行分块,发现Mongo2.6(在我的16Gb Macbook上本地运行,没有副

我有一个从CSV填充的代码集合。总共有150万个代码,相当多。CSV很容易解析为对象或形式:

codes = [
  {code:'abc'},
  {code:'123'},
  etc
]
我最初试着在一个插页中把它写到Mongo,就像这样

Code.collection.insert(codes) 
(使用Mongoose直接组合查询)

然而,这一切都悄无声息地失败了。假设存在某种隐藏内存问题,我开始对代码进行分块,发现Mongo2.6(在我的16Gb Macbook上本地运行,没有副本集)在一次插入中可以接受大约1000个代码


这是预期的行为吗?如果是,这个数字有什么依据吗?

尝试使用插入,特别是您需要方法,该方法可以在Mongoose中使用
Model.collection
访问器对象公开。因此,在上述情况下,您可以重新构造插入以执行批量更新,如下所示:

var bulk = Code.collection.initializeOrderedBulkOp(),
    counter = 0;

codes.forEach( function(obj) ) {
    bulk.find({'code': {'$ne': null}}/* some search */)
        .update({'$set': {'code': obj.code}});
    counter++;
    if (counter % 1000 == 0) {
        bulk.execute(function(err, result) {             
            bulk = Code.collection.initializeOrderedBulkOp();
        });
    }
}

if (counter % 1000 != 0 ) {
    bulk.execute(function(err, result) {
       // get stats
    });
}

RTFM很好,但不匹配。报价限额为25万条记录