node+mongoose 批量处理数据用什么?
发布于 6 年前 作者 heixiaoshan 13567 次浏览 最后一次编辑是 4 年前

大神们,你们批量添加是用什么? foreach 去循环遍历吗? 这个多个人同时去进行添加会不会对性能/内存有很大的影响啊 除了foreach还有更优的方案吗?

据说全部都是用foreach哎

11 回复

forEach肯定不行,至少得用async。 不过现在还真没什么好用的,自己写了个不过用起来不方便。

mongodb 2.6是有bulk.insert()方法的,不知道mongoose是否支持。

用异步?具体呢?

查了下,不是批量添加的方法

@heixiaoshan 你确信吗?或者说,你的批量添加是指什么?

根据Bulk.insert文档中的例子:

var bulk = db.items.initializeUnorderedBulkOp();
bulk.insert( { item: "abc123", defaultQty: 100, status: "A", points: 100 } );
bulk.insert( { item: "ijk123", defaultQty: 200, status: "A", points: 200 } );
bulk.insert( { item: "mop123", defaultQty: 0, status: "P", points: 0 } );
bulk.execute();

这就是一次添加几条记录的操作。

@bnuhero 应该说场景不符吧。这种类似事物的处理。

记得某个版本以后的mongdb的insert方法支持数组了吧,mongoose不知道可不可以啊

那么只好用消息队列了。。。

回到顶部