【发布时间】:2016-05-20 21:06:12
【问题描述】:
我在 MongoDB 中有一个大集合:size - 94.605.081.327 B count - 54.738.234。我必须更改此集合中的所有文档,并且无法在单个 update 中完成。
我想流式传输数据并一次更新一个文档的集合。同一项目的另一位开发人员推荐了这样的方法:
stream.on('data', (data)=>{
stream.pause();
data.field = 'newValue'; // update
data.save((err)=>{
stream.resume();
})
})
这是个好主意吗? update 与Node.js 和Mongoose 是否有更有效的方法?
【问题讨论】:
-
您可以批量读取数据,批量更新每个条目,然后将批量写回。 MongoDB 提供
skip和limit仅加载结果集的一部分。
标签: node.js mongodb mongoose mongodb-query