Когда вставка или обновление документа нарушает уникальный индекс, MongoDB возвращает ошибку E11000 duplicate key error. Корректная обработка этой ошибки критически важна, особенно при массовых операциях.
ordered: false в массовых операциях, чтобы MongoDB продолжала обработку оставшихся документов даже после ошибки дублирования, а не останавливалась на первом сбоеupdateOne или replaceOne с параметром { upsert: true } — это обновит существующие документы вместо попытки вставить дубликатinsertMany с ordered: false, чтобы собрать все ошибки по завершении операции, а не прерываться на серединеdb.collection.bulkWrite(
[
{ insertOne: { document: { _id: 1, name: "Alice" } } },
{ insertOne: { document: { _id: 1, name: "Duplicate" } } }
],
{ ordered: false }
)
writeErrors с подробностями по каждой неудачной операцииtry/catch для перехвата исключений, которые выбрасываются при полностью упорядоченных операцияхУстановка ordered: false в bulk-операциях заставляет MongoDB остановиться сразу же при обнаружении первой ошибки дублирующегося ключа.
Новый — ещё не проверен сообществом
Вы