2014-01-23 11 views
0

У меня есть коллекция в моей базе данныхКак заблокировать Коллекцию в MongoDB

1.Я хочу, чтобы заблокировать мою коллекцию, когда пользователь Обновление документа

2.No операции выполняются Ожидать Считывает время Обновление коллекции для других пользователей

пожалуйста, дайте предложения, как заблокировать коллекцию в MongoDB

с наилучшими пожеланиями

GSY

ответ

0

Смотрите документацию MongoDB на write operations обращая особое внимание на этот раздел:

Выделения операций записи

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

Никакие другие операции не являются атомарными. Тем не менее, вы можете попытаться изолировать операцию записи, которая> влияет на несколько документов с помощью оператора изоляции.

Чтобы изолировать последовательность операций записи от других операций чтения и записи, см. Раздел Выполнение> Двухфазные фиксации.

2

MongoDB уже навешивает жадный алгоритм уровня базы данных.

Это означает, что, когда конкретный документ записывается на:

  • User коллекция будет заблокирована
  • Нет чтения будут доступны, пока данные не будут записаны

Причина, по которой никакие чтения недоступны, потому что MongoDB не может делать последовательное чтение во время записи (черт вас физика, вы снова выигрываете).

Следует отметить, что если вы хотите более сложную блокировку, охватывающую несколько строк, то это не будет доступно в MongoDB, и нет реального способа реализовать такую ​​вещь.

+0

спасибо Sammaye ......... – sagar

Смежные вопросы