Какой тип блокировки предлагает findAndModify()? Является ли только блокировка записи или чтение/запись? Предотвращает ли одновременное обновление одной и той же записи?Действительно ли findAndModify блокирует документ для предотвращения конфликтов обновления?
ответ
В соответствии с документами MongoDB для MongoDB: findAndModify() для под MongoDB: Atomic Operations он должен быть.
MongoDB имеет глобальную блокировку записи (для каждого экземпляра), которая сериализует все обновления по всем данным на сервере (хотя на разных серверах в оштукатуренном кластере каждый будет иметь свои собственные независимые блокировки). Это означает, что в любой момент времени в любом документе происходит только одно обновление и, следовательно, только одно обновление для любого данного документа.
findAndModify
не делает ничего другого в этом отношении, чем обычный update
- он просто возвращает документ вам.
Я думаю, что разумно интерпретировать явные претензии атомарности в документах как гарантию будущей семантики (контракт на их будущую пользовательскую базу), в то время как (слухи) комментарии о существующей семантике обновления или других операциях, которые не имеют таких обещаний, должны рассматриваться как детали реализации, на которые НЕ следует полагаться в коде качества. –
Я не совсем уверен, какая часть моего ответа - если таковая имеется, - это касается. Но семантика атомного обновления гарантируется как для 'findAndModify', так и для обычного' update'. Реализация (в настоящее время глобальная блокировка записи) может измениться, но семантика останется. – dcrosta
- 1. Действительно ли findAndModify блокирует документ для предотвращения конфликтов чтения?
- 2. Действительно ли mysqli_real_escape_string() для предотвращения SQL-инъекции?
- 3. Действительно ли Торнадо не блокирует?
- 4. git pull options для предотвращения конфликтов слияния
- 5. Использовать jQuery noconflict для предотвращения конфликтов плагинов?
- 6. Как проверить, действительно ли документ проиндексирован?
- 7. MongoDB findAndModify. Это действительно атомный? Помогите написать закрытое решение для обновления
- 8. MongoDB findAndModify элемент обновления в массиве
- 9. Стратегии предотвращения конфликтов слияния, например. in git
- 10. TRIGGER Oracle для предотвращения обновления или вставки
- 11. Spring Mongodb findandModify не обновляет весь документ
- 12. Ошибка отображения страницы предотвращения конфликтов JavaScript
- 13. php mysql - действительно ли mysql автоматически блокирует строки при обновлении?
- 14. MongoDB findAndModify от нескольких клиентов
- 15. Редактирование общего временного файла в php предотвращения конфликтов
- 16. Является ли mongoDB findAndModify «транзакционным сохранением»
- 17. Действительно ли первая вставка в таблицу эффективно блокирует всю таблицу?
- 18. Уникальный код в стиле Tinyurl: потенциальный алгоритм предотвращения конфликтов
- 19. FindAndModify, возвращаемый массив объектов
- 20. Существует ли соглашение об именах питонов для предотвращения конфликтов со стандартными именами модулей?
- 21. Неблокирующий CAS в Java действительно не блокирует?
- 22. Действительно ли InfoPath для этой цели?
- 23. CSS-типы конфликтов конфликтов
- 24. findAndModify удалить эти истинной не извлекая весь документ
- 25. cant cast Модифицированный документ от FindAndModify в MongoDb CSharp
- 26. Использование «findAndModify» на MongoDB
- 27. Mongoose и findAndModify
- 28. Общий код для обработки конфликтов параллельных конфликтов Azure Tables?
- 29. Монго findAndModify возвращает нулевое
- 30. Разрешение конфликтов или предотвращение конфликтов в GIT?
гарантия на каждый закрашенный экземпляр - это все, что нам нужно, спасибо – user646584