Azure 文档数据库脏读/写

Azure Document DB Dirty Read / Write

由于 Azure Documentdb 更新了整个文档,它不会造成脏读/写/幻影的情况。

假设我有以下文件

{
id:"1",
markers:[1,2,3]
}

客户端 A 在 Web 应用程序中阅读了上述文档...并等待了大约 5 分钟,与此同时,客户端 B 也阅读了该文档,但它使用

对其进行了更新
{
id:"1"
**markers:[1,2,3,4]**
}

由于来自客户端 A 的更新会包含整个文档的更新,因此会损坏数据?

有什么办法可以避免这种情况吗?

Azure DocumentDB 使用 ETAG 支持乐观并发。更新文档时,可以使用 ETAG 来避免覆盖。这是一篇关于此主题的详细博客 https://peter.intheazuresky.com/2016/04/28/documentdb-revisited-part-3-concurrency-in-documentdb/