项目这要求大批量的插入数据。 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)
D
哥哥process.nextTick不是随便用的啊,考虑使用async模块的whilst函数控制一下
H
@dengqiao 那这一百万条数据要怎么插入数据库比较好。
Y
H
引用 hades@dengqiao 那这一百万条数据要怎么插入数据库比较好。
@youxiachai 是否有例子可以参考一下?
L
我的一个数据库更新的例子:
async.forEachSeries(docs, processBuilding, function(){
console.log('buildings done:', docs.length);
process.exit();
});
D
引用 hades@dengqiao 那这一百万条数据要怎么插入数据库比较好。
批量插入,每次插入100条哈哈,这个100是我经常用的,你自己选择,不要太大,不要太小
H
@.@看来还是得麻烦些,重头来过。
1、数组不能太大, 2、循环不能太大,
S
用回调吧,等插入完成后再插入接下来的,或者用setTimeout()来循环。手边有一个项目就是这样用的。
参与回复
登录后即可参与回复。登录