bulkWrite() — это метод MongoDB, который позволяет выполнить несколько операций записи — вставки, обновления и удаления — в одном запросе, что снижает количество сетевых обращений и улучшает производительность.
db.collection.bulkWrite(operations, options)
operations — массив объектов операций записиoptions — необязательные настройки (например, ordered)Каждая операция в массиве имеет определённую структуру:
insertOne — вставляет один документupdateOne / updateMany — обновляет один или несколько найденных документовdeleteOne / deleteMany — удаляет один или несколько найденных документовreplaceOne — заменяет весь документdb.collection.bulkWrite([
{ insertOne: { document: { name: "A" } } },
{ updateOne: { filter: { name: "B" }, update: { $set: { status: "active" } } } },
{ deleteOne: { filter: { name: "C" } } }
], { ordered: false })
ordered (boolean) — управляет порядком выполнения:
true (по умолчанию) — операции выполняются последовательно; при первой ошибке выполнение останавливаетсяfalse — операции выполняются параллельно; каждая операция выполняется независимо от ошибок в другихИспользование bulkWrite() значительно эффективнее, чем отправка отдельных запросов записи, потому что:
Когда ordered установлен в false в операции bulkWrite(), все операции записи выполняются параллельно и продолжают попытки завершить работу даже если отдельные операции не удаются.
Новый — ещё не проверен сообществом
Вы