迭代整个mongo数据库的方法太大而无法加载?

时间:2015-10-08 19:36:52

标签: node.js mongodb database

我必须为我公司的一个客户做一些数据处理。他们有一个大约4.7GB数据的数据库。我需要为使用mongo文档的两个属性和外部引用计算的每个文档添加一个字段。

我的问题是,我不能做collection.find()因为Node.js内存不足。迭代整个集合的最佳方法是什么,这个集合太大而无法通过一次调用来加载?

1 个答案:

答案 0 :(得分:4)

是的,有办法。 Mongo旨在处理大型数据集。

你可能内存不足,不是因为NilClass,而是因为你试图用args.reject! { |key, value| value == NilClass } 之类的东西一次性抛弃它。

对大于内存的结果集进行操作的正确方法是使用游标。以下是您在mongo控制台中的操作方式:

db.collection.find()