我们在.net Core环境中通过Mongo API使用Cosmos DB。多个客户可以修改一个集合,我们决定使用开放式并发模型。
根据文档here,我知道cosmos DB中的ETAG字段中有构建。问题是我不知道如何使用MongoDB API检索此字段。我什至不确定是否可以使用此API访问此字段。
另一种选择是自己实现一个唯一的id字段,但我宁愿使用内置的东西。
答案 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。
希望有帮助。