我有一个Cosmos DB和一个像这样的集合:
{
"name" : "Marc Zukerberg",
"follower" : "100"
}
我正在寻找一种增加“跟随者”计数的方法,但是以一种 ATOMIC 的方式进行,因为很多增加可以同时发生!
有可能吗?
在NoSQL中是否有一些针对这种情况的模式?
答案 0 :(得分:2)
CosmosDB中的每个文档都有一组系统属性。
其中之一是etag
。 etag
是一个属性,每当文档本身以某种方式更改时,其值都会更改。
这可用于提供乐观的并发控制。
这可以通过将AccessCondition
对象与Replace
之类的操作一起使用来实现。
这样,您可以保证etag
匹配,这意味着在执行更新操作时文档不会更改。
有关如何执行此操作的示例,请参见here。