Космос БД: коллекция и атомный счетчик - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть Cosmos DB и такая коллекция:

{
  "name" : "Marc Zukerberg",
  "follower" : "100"
}

Я ищу способ увеличить число «последователей», но ATOMIC , потому что большое увеличение может происходить одновременно!

Возможно ли это?

Есть ли шаблоны для таких случаев в NoSQL?

1 Ответ

0 голосов
/ 05 сентября 2018

Каждый документ в CosmosDB имеет набор системных свойств.

Одним из них является etag. etag - это свойство, значение которого изменяется при каждом изменении самого документа.

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

Этого можно достичь с помощью объекта AccessCondition с вашими Операциями, например Replace.

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

Пример того, как вы можете сделать это подробно, можно найти здесь .

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