sql - Cosmos DB 集合查询中的行锁等价物
问题描述
我有以下要求:两个应用程序实例通过检索具有属性“状态”=“未处理”的文档来处理 Cosmos DB 集合文档。
以下是步骤: - 读取具有属性“status”=“未处理”的文档 - 将检索到的文档标记为“status”=“inprogress”,以便其他应用程序不会检索到同一组文档 - 处理文档申请并将文档状态更新为“已处理”
在 SQL 世界中,我们可以通过对选定的行应用行锁并将状态列更新为不会被其他应用程序获取的值来完成此操作。我们如何在 Cosmos DB 中实现这一点?
谢谢
解决方案
AFAIK,这种功能在 Azure Cosmos DB 中不可用。两个应用程序都将能够读取该文档。
但是,您可以做的是防止应用程序覆盖其他应用程序所做的更改。这是通过Optimistic Concurrency Control
在 Cosmos DB 中使用来完成的。
推荐阅读
- php - 如何防止php联系表单重定向到另一个页面?
- linux - perl shebang:`“-Mstrict”为时已晚`
- c++ - 为什么 std::basic_fstream
不行吗? - python - 从databricks中的python代码访问文件
- javascript - 在 Vue.js 和 Shopify 中使用 AJAX 从购物车中永久删除商品
- swift - SwiftUI how to make List and Section transparent
- c++ - 编译.o文件时g ++上的“文件太短”错误
- c# - 我的 Azure 开发环境总是将我重定向到错误页面
- nginx - 具有不同域属性的 nginx proxy_cookie_path
- visual-studio-code - 我的 VScode 副本中缺少“构建”刻度线