MongoDB: блокировка и разблокировка коллекции вручную - PullRequest
0 голосов
/ 30 мая 2018

Я хотел бы выполнить транзакционное чтение, а затем запись в зависимости от результатов.

Чтение должно выполняться в очереди, пока чтение и запись не будут выполнены, и я вручную разблокировал коллекцию.

Естьэто возможно?

1 Ответ

0 голосов
/ 04 июня 2018

Чтения должны ставиться в очередь до тех пор, пока не будут выполнены чтение и запись, и я вручную разблокирую коллекцию.

Блокировка коллекции вручную не поддерживается в MongoDB Сделки .

Вы описали поведение Пессимистическая блокировка .Где выбранные документы блокируются до тех пор, пока транзакция не завершится или не откатится, что потенциально может вызвать взаимоблокировки .

В транзакциях MongoDB используется Оптимистическая блокировка .Это стратегия, при которой внутренний номер версии записывается при чтении документов.Когда документ (ы) записан обратно, убедитесь, что версия не была изменена (другими процессами вне транзакции).

Если версия документа отличается от версии, записанной в начале транзакции,транзакция прерывается, и ее можно повторить (в зависимости от требований).

См. Также Руководство по транзакциям MongoDB для получения дополнительной информации.

Дополнительная информация: Многодокументные транзакции доступны в MongoDB v4 +.MongoDB v4.0.0-rc0 (релиз-кандидат) был выпущен 23 мая 2018 года.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...