Azure Cosmos DB SQL API UPDATE 语句 - 不替换整个文档

标签 azure azure-cosmosdb azure-cosmosdb-sqlapi

我可以为 Azure Cosmos DB 编写 UPDATE 语句吗? SQL API 支持查询,但是更新呢?

特别是,我希望更新文档而不必检索整个文档。我有文档的 ID,并且知道文档中要更新的确切路径。例如,假设我的文档是

{
  "id": "9e576f8b-146f-4e7f-a68f-14ef816e0e50",
  "name": "Fido",
  "weight": 35,
  "breed": "pomeranian",
  "diet": {
    "scoops": 3,
    "timesPerDay": 2
  }
}

我想将 diet.timesPerDay 更新为 1,其中 ID 为 “9e576f8b-146f-4e7f-a68f-14ef816e0e50”。我可以使用 Azure SQL API 执行此操作而不完全替换文档吗?

最佳答案

Cosmos DB SQL 语言仅支持 Select 语句。

不支持通过 sql 语言或 SQL API 部分更新文档。

人们已经明确表示这是他们想要的功能,因此对此的请求得到了高度赞扬,可以在这里找到:https://feedback.azure.com/forums/263030-azure-cosmos-db/suggestions/6693091-be-able-to-do-partial-updates-on-document

微软已经开始解决这个问题,所以你唯一能做的就是等待。

关于Azure Cosmos DB SQL API UPDATE 语句 - 不替换整个文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56155514/

相关文章:

azure - 如何删除 Azure Cosmos DB 中的多个文档

用于管理 Azure Cosmos db 的 Node.js 控制台应用程序代码教程代码抛出未定义错误

Azure CosmosDB REST API 忽略数据浏览器返回的结果

azure - 代表 Azure IoT 中心上的其他设备

azure - Kubernetes - 服务集群IP地址与Pod IP地址

azure-cosmosdb - 使用gremlin查询删除父节点时如何删除所有子节点?

sql - 宇宙数据库 : Query documents by time interval using partition key

azure - 如何在不断开连接的情况下解决 Visual Studio 应用中心中的 "Your Bitbucket token is no longer valid. Please re-authenticate."?

azure - 在 Azure Pipeline 任务中循环多个参数

c# - azure documentdb 创建文档重复项 Id 属性