Блокировка уровня документа в mongodb

Возможна ли блокировка уровня документа в mongodb 3.4?

В моей коллекции миллионы документов. У меня есть сценарий, в котором я хочу удалить некоторые документы (на основе некоторых критериев идентификатора) в коллекции, и пока эти документы удаляются, они не должны быть доступны другим пользователям.

Документы, которые я не хочу удалять, должны быть доступны другим пользователям.

Итак, я хочу заблокировать несколько документов (на основе некоторых критериев идентификатора), которые я хочу удалить.

Или есть другой способ сделать это?

0
0
564
1

Ответы 1

Начиная с MongoDB 3.2, механизм хранения WiredTiger является механизмом хранения по умолчанию.

WiredTiger использует управление параллелизмом на уровне документа для операций записи. В результате несколько клиентов могут одновременно изменять разные документы коллекции.

db.collection.remove () поддерживает многодокументные транзакции.

поэтому я думаю, что вам должно быть достаточно использования записи по умолчанию.

Дополнительную ссылку можно найти на Документация MongoDB

Предположим, я хочу удалить 10 миллионов документов (из моих 30 миллионов документов в коллекции), поэтому, пока эти документы удаляются, я не хочу, чтобы к этим 10 миллионам документов обращался другой поток, в то время как остальные 20 миллионов должны быть доступны

Prince Kumar 13.08.2018 11:50

То же самое происходит по умолчанию. Вы можете перепроверить через POC.

Rishabh Agarwal 13.08.2018 12:15

Не могли бы вы поделиться со мной POC, который вы сделали. Мне нужно проверить.

Rishabh Agarwal 14.08.2018 18:40

Другие вопросы по теме