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