Вы можете сделать это с помощью функции «Уменьшить» карты / уменьшить, чтобы сохранить всю обработку в mongodb.По сути, вы должны использовать map / reduction, чтобы поместить результаты в новую коллекцию, а затем скопировать их обратно в старую коллекцию (или удалить старую и переименовать новую).Преимущество этого в том, чтобы хранить все внутри монго.
Обновление : другой вариант может быть для вас - использовать db.eval .db.eval
выполняется на сервере, поэтому обновления будут выполняться на сервере без трафика / задержки.
Я думаю, что единственный другой вариант, как вы описали, - сделать это на клиенте, запрашивая и обновляя каждый.