使用 MongoDB 协议对 Azure DocumentDb 的部分更新支持

Posted

技术标签:

【中文标题】使用 MongoDB 协议对 Azure DocumentDb 的部分更新支持【英文标题】:Partial Update Support on Azure DocumentDb with MongoDB protocol 【发布时间】:2016-11-20 14:45:34 【问题描述】:

预览版的“Azure DocumentDB with protocol support for MongoDB”是否支持部分数据更新?

我在文档中看到 DocumentDb 不支持。但是找不到这方面的任何信息。

【问题讨论】:

为什么会被否决? 【参考方案1】:

是的,即使直接到 DocumentDB API 不支持,但在使用 MongoDB 协议支持时,支持增量操作。 Here 是 Azure 页面上的确认,特别是,“这包括对 MongoDB Update operator specification 指定的字段、数组、按位和隔离更新的支持。对于需要多个文档操作的更新运算符,DocumentDB 提供完整的 ACID 语义快照隔离。”

【讨论】:

我点击了标有“这里”的链接,找不到引用的句子的痕迹。你能看一下以确保他们没有把那部分拿下来,如果没有提供更具体的描述,说明在哪里可以找到它?如果 MongoDB 驱动程序确实支持它,那么应该有人在 UserVoice 功能请求中报告对 documentdb 的部分更新。【参考方案2】:

DocumentDB (Cosmos) 确实支持通过存储过程进行部分更新。不知道为什么没有更广泛的记录。

我们通过 DocumentDB API 使用更新运算符 provided in Cosmos DB samples on github。发送document ID 和相应的命令($push$set 等)提供了与 Mongo 部分更新类似的功能,并提高了 RU 的性能和使用(请求单元)。

【讨论】:

DocumentDB API 中的更新操作符将文档替换为提供的内容。它不会对文档进行部分更新。如果您只发送 1 个更新的属性并说更新,那么您的新文档最终将只有 1 个属性,所有其他属性都将被删除。非常不同。

以上是关于使用 MongoDB 协议对 Azure DocumentDb 的部分更新支持的主要内容,如果未能解决你的问题,请参考以下文章

Azure上找不到MongoDB?不妨试试Azure Cosmos DB

Azure上找不到MongoDB?不妨试试Azure Cosmos DB

ASP NET API - 在不打开 Microsoft 登录页面的情况下使用 Azure AD SAML 协议对用户进行身份验证

在 Azure 虚拟机上快速搭建 MongoDB 集群

Azure DocumentDB 正式发布

如何从 Android 连接到 Azure 上的 MongoDB?