azure - Azure documentDB 是否提供条件写入?
问题描述
我想知道 Azure documentDB 是否提供条件写入?我的意思是当某些条件满足时进行写操作。
例如,如果我在 DB 中有多个资源,我想在 DB 中至少有 2 个资源时删除一个资源。文件似乎说要检查 etag 是否匹配。但是,如果在数据库中至少有 3 个资源的情况下,user1 尝试使用 etag version1 删除一个资源,但 user2 尝试添加资源并更新 etag。那么删除操作就会失败。
解决方案
您在问题中描述的实际上是我认为的一致性问题。关于替换一致性,您可以在标头中设置If-Match
属性,该属性用于使操作成为乐观并发的条件。也就是说,仅当指定的 etag 与数据库中的当前版本匹配时,才会更新文档。该值应设置为资源的 etag 值。
此外,根据我的知识,应该没有这样的内置机制。
推荐阅读
- python - Selenium WebDriverException 问题 - python,无法在 Chrome/Firefox 中启动浏览器
- javascript - Chrome 在运行 javascript 时通过错误代码:SIGILL
- java - 如何在 Android 中重复计时器
- python - UnboundLocalError:分配之前引用的局部变量'final_result'..django
- wordpress - Google 标签不会显示在 Google Tag Assistant 中,但会显示在 GTM 和 Analytics 的调试中
- c - 如何在C中用单词制作数字
- google-bigquery - 在 BigQuery 中基于另一个表的架构创建一个空表
- haskell - 来自 Simon Marlow 的《Haskell 中的并行和并发编程》一书中的严格评估示例
- java - brokerURL 语法我不清楚
- node.js - 使用相同输入时的 Node.js 运行时变化