您可以在map / reduce的Reduce函数中进行此操作,以将所有处理保留在mongodb中。本质上,您将使用map /
reduce将结果放入新集合中,然后可以将其复制回旧集合(或删除旧集合并重命名新集合)。这具有将所有内容保留在mongo内部的优势。
更新 :另一个选择可能是让您使用db.eval。
db.eval在服务器上执行,因此更新将在服务器上完成而没有任何流量/延迟。
我认为唯一的其他选择就是您所描述的-通过查询和更新每个选项在客户端上执行。

您可以在map / reduce的Reduce函数中进行此操作,以将所有处理保留在mongodb中。本质上,您将使用map /
reduce将结果放入新集合中,然后可以将其复制回旧集合(或删除旧集合并重命名新集合)。这具有将所有内容保留在mongo内部的优势。
更新 :另一个选择可能是让您使用db.eval。
db.eval在服务器上执行,因此更新将在服务器上完成而没有任何流量/延迟。
我认为唯一的其他选择就是您所描述的-通过查询和更新每个选项在客户端上执行。