项目这要求大批量的插入数据。 for(var i = 0; i < 1000000; i++){ process.nextTick(function () { var user = {}; user.name = 'outmem'; user.pass = '123456'; user.email = 'outmem@outmem.com'; save(....); }); } 几百条时还能正常插入,循环量一大程序就插不进数据了。
回复 (8)
S
用回调吧,等插入完成后再插入接下来的,或者用setTimeout()来循环。手边有一个项目就是这样用的。
H
@.@看来还是得麻烦些,重头来过。
1、数组不能太大, 2、循环不能太大,
D
L
我的一个数据库更新的例子:
async.forEachSeries(docs, processBuilding, function(){
console.log('buildings done:', docs.length);
process.exit();
});
H
Y
H
@dengqiao 那这一百万条数据要怎么插入数据库比较好。
D
哥哥process.nextTick不是随便用的啊,考虑使用async模块的whilst函数控制一下
参与回复
登录后即可参与回复。登录