使用MongoDB API的Cosmos DB乐观并发

时间:2019-03-04 15:29:36

标签: database mongodb azure-cosmosdb optimistic-concurrency

我们在.net Core环境中通过Mongo API使用Cosmos DB。多个客户可以修改一个集合,我们决定使用开放式并发模型。

根据文档here,我知道cosmos DB中的ETAG字段中有构建。问题是我不知道如何使用MongoDB API检索此字段。我什至不确定是否可以使用此API访问此字段。

另一种选择是自己实现一个唯一的id字段,但我宁愿使用内置的东西。

1 个答案:

答案 0 :(得分:0)

感谢您的反馈。 MongoDB协议/ API本身不提供开放式并发支持(请参见MongoDB Optimistic Concurrency Control With .NET)。 CosmosDB的MongoDB API提供了MongoDB协议/ API,因此有此限制。

对于与乐观并发相关的许多情况,MongoDB的update命令会处理它,因为它可以原子地更新文档的一部分(在上面的链接中找到)。用于CosmosDB的MongoDB API以这种方式支持update命令。

要直接利用“ etag”功能,您将需要使用另一种支持该功能的Cosmos DB API。

希望有帮助。