cosmos db 多访问条件

问题描述 投票:0回答:1

是否可以以某种方式设置多个访问条件,如果不满足这些条件,则阻止文档保存到 Cosmos。

今天我在 ETag 上有一个访问条件,以防止保存旧版本的文档。但我想根据文档的状态有另一个条件。因此,如果我商店中的文档处于“关闭”状态,它将阻止任何人对其进行修改。

我总是可以执行

load -> check -> save
例程,但是访问条件就像 ETag 的魅力一样,所以我想知道是否有一种方法可以在保存文档时指定多个访问条件。

致以诚挚的问候 马格努斯

azure-cosmosdb
1个回答
0
投票

根据以下博客中的详细陈述,

  1. https://codeopinion.com/documentdb-optimistic-concurrency/

  2. https://chapsas.com/understanding-optimistic-concurrency-in-cosmos-db/

cosmos db 中的

ETAG
仅提供乐观并发,并且可以与
AccessCondition
一起使用,以确保在文档的检索和操作尝试之间文档是否发生更改。

AccessConditionType只有

IfMatch
IfNoneMatch
,没有其他状态。

enter image description here

所以,回到你的需求,看来你必须在文档中添加

ifClosed
项,并在修改时检查它以实现你的需求。

© www.soinside.com 2019 - 2024. All rights reserved.