У меня есть коллекция, из которой я получаю max id и при вставке с использованием max id + 1. Столбец id уникален в этой коллекции.Параллельное чтение/запись в MongoDB
При вызове нескольких экземпляров этой службы одновременное приложение считывает одну и ту же коллекцию и получает максимальный идентификатор. Но поскольку один и тот же набор доступен, тот же самый максимальный id возвращается в несколько экземпляров, могу ли я получить явный блокировку коллекции при чтении данных из этой коллекции и освободить блокировку после записи в Mongo DB?
Вы пытались использовать внешнюю синхронизацию или встроенные синхронизированные коллекции? –
Не могли бы вы уточнить, есть ли у нас синхронизированные коллекции в MongoDB? –
Не могли бы вы написать немного больше того, чего хотите достичь? Похоже, вам нужны транзакции, поэтому, возможно, MongoDB не самый лучший вариант здесь. Рассмотрим [auto incrementing sequence field] (https://docs.mongodb.com/v3.0/tutorial/create-an-auto-incrementing-field/#auto-increment-counters-collection) или [$ inc] (https : //docs.mongodb.com/manual/reference/operator/update/inc/), если вам просто нужен атомный способ увеличить счетчик. – mkorszun