Как MongoDB занимается параллельными обновлениями?

Я начал использовать MongoDB на работе настолько хорошо. Мне было интересно, как MongoDB занимается параллельными обновлениями? Я читал, что в MongoDB нет функции блокировки, поэтому мне было интересно, какая общая практика имеет дело с этим.

Благодарю.

    MongoDB использовал блокировку записи процесса, чтобы гарантировать, что за один раз может быть выполнена только одна операция записи (обновление / вставка / удаление). Таким образом, он автоматически решает проблемы параллелизма, так как запись параллелизма просто не допускается.

    Если 4 streamа попытаются выполнить операцию обновления, один из них возьмет блокировку записи, выполнит обновление и освободит блокировку. После этого один из оставшихся 3 захватит замок, сделает его обновление и т. Д.

    Параллелизм вступает в игру, если ваша операция не может быть завершена в одну операцию записи. Обратите внимание, что для наиболее распространенного usecase (найти документ, обновить его и получить новую версию атомарно) MongoDB предлагает команду «findAndModify», которая делает именно это: http://www.mongodb.org/display/DOCS/findAndModify+Command

    ОБНОВЛЕНИЕ: теперь блокировка более зернистая.

    Используйте операции модификатора :

    $inc $set $unset $push $pushAll $addToSet $pop $pull $pullAll $rename $bit

    все они атомарны.

    Давайте будем гением компьютера.