Как вы подходите к документам для массового/пакетного обновления (до 10 тыс. Документов) в сочетании с forEach
? (Никакие конкретные критерии не обновлять путем, используется для случайного выбора документа)MongoDB массовое обновление эффективности с использованием forEach
Я смотрю на двух вариантах:
- Соберите все документы
_id
вforEach
закрытия в массив, а затем выполнить обновление с помощьюcollection.update({_id : {$in : idsArray}}, ...)
- запросов Добавить обновление в
forEach
закрытии до операции массовых и выполнить один раз сделать, где-то вдоль линийbulk.find({_id: doc.id}).updateOne({...}); bulk.execute();
Я собираюсь оценить это в ближайшее время, но я хотел бы знать, что больше работает в режиме ввода-вывода и считается «умным» с Монго.
Хороший кусок знания; Благодарю. –