Я прошел курс MongoU и Midway через секунду. Я читал все, что мог, и сделал все, что мог, чтобы учиться, но не смог научиться справляться с тем, что я считаю стандартной ситуацией.MongoDB и Write/Read Consistency
Рассмотрите систему бронирования номеров в отеле. Существует а заказы коллекции:
4/1 - номер 1 4/1 - Номер 2 4/1 - Номер 3
Затем, когда клиент проверяет коллекции бронирований {дата: 4/1 Площадь номера: 3}, они найдут бронирование, и приложение может отказать в бронировании.
Однако скажите, что два пользователя одновременно ищут {date: 4/1 Room: 4}, приложение будет продолжать бронирование для обоих клиентов, то есть они попытаются создать бронирование.
Что будет дальше? Один из клиентов получает заказ, а другой терпит неудачу. Что-то вроде состояния гонки? Или один клиент получает заказ, а другой человек перезаписывает его.
Можно ли предотвратить проблему с записью? Или какой-то другой замок? Или это лучший пример для более атомной базы данных?
Все демонстрации, которые я вижу, связаны с блогом, в котором очень мало проблем с уникальными данными.
Эй, Спасибо за ваш ответ. Я думаю, вы правы. Забавно, что решение уникального соединения _id приходило ко мне на днях, думая, что это будет способ гарантировать, что он уникален. Цените свой задумчивый ответ. Береги себя. – csduarte