2012-04-30 1 views
2

Привет, я использую mongodb в качестве моей базы данных. Мой вопрос: как я могу убедиться, что когда я делаю запрос для одного документа или много документов. Пример:MongoDB с C# Убедиться, что записи заблокированы во время работы над ними

mongo.GetCollection("orders").Find(Query.EQ("OrderStatus", "unshiped")).ToList(); 

Как убедиться в том, что документы, которые находятся в этом списке будут заблокированы, и никто не может изменить их, и что когда-либо я делаю в коде с этой записью, когда я петлей их истинные, а затем сохранить их должны разблокировать его

ответ

0

MongoDB поддерживает атомные операции над отдельными документами. MongoDB делает не поддерживает традиционные блокировки и сложные операции по ряду причин:

  • Во-первых, в sharded средах, распределенные замки могут быть дорогим и медленным. Цель Mongo DB - быть легким и быстрым.
  • Нам не нравится концепция взаимоблокировок. Мы хотим, чтобы система была простой и предсказуемой без таких сюрпризов.
  • Мы хотим, чтобы Mongo DB хорошо работала для проблем в реальном времени. Если может выполняться операция, которая блокирует большие объемы данных, она может остановить несколько небольших запросов света в течение длительного периода времени.

Я думаю, что вам лучше всего добавляет locked свойство к документам, и идти оттуда.