使用 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 协议对用户进行身份验证