Оптимистичный параллелизм Cosmos DB с использованием MongoDB API - PullRequest
0 голосов
/ 04 марта 2019

Мы используем Cosmos DB через API Mongo в среде .net Core.Несколько клиентов могут модифицировать одну коллекцию, и мы решили использовать оптимистическую модель параллелизма.

Из документов здесь Я знаю, что в базе данных космоса есть поле ETAG для встраивания.Проблема в том, что я понятия не имею, как получить это поле с помощью MongoDB API.Я даже не уверен, смогу ли я получить доступ к этому полю с помощью этого API.

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

1 Ответ

0 голосов
/ 07 марта 2019

Спасибо за ваш отзыв.Сам протокол / API MongoDB не обеспечивает поддержку оптимистичного параллелизма (см. MongoDB Optimistic Concurrency Control с .NET ).API CosmosDB для MongoDB представляет протокол / API MongoDB, поэтому разделяет это ограничение.

Для многих сценариев, связанных с оптимистичным параллелизмом, команда обновления MongoDB позаботится об этом, поскольку она может атомарно обновлять часть документа (рассматривается нассылка выше).API MongoDB для CosmosDB поддерживает команду обновления следующим образом.

Чтобы напрямую воспользоваться функцией etag, вам потребуется использовать другой API-интерфейс Cosmos DB, который ее поддерживает.

Надеюсь, это поможет.

...