You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在CosmosDB中存储分区键:分区键列无数据是否正常?

Cosmos DB容器浏览器看不到复合分区键值是否正常?

我理解分区键的概念,但缺乏实用经验。现有如下JSON数据:

{
    "agendaId": "688c99bc-c756-4b8f-9c39-60246c0ea66e",
    "postId": "f07f16e5-e7d6-441e-bc1d-82ac671e0f63",
    "name": "john doe"
}

我将容器的分区键定义为/agendaId/postId,插入数据后,在Cosmos DB容器浏览器的分区键列中看不到任何数据,仅能看到自动生成的Id,请问这是正常现象吗?


回答

这种情况不正常,问题出在你定义的分区键路径格式错误:

  • 复合分区键的正确格式是用逗号分隔多个独立的属性路径,比如/agendaId,/postId,而不是/agendaId/postId。后者的格式是用于指向嵌套对象中的属性,比如只有当你的数据结构是{"agendaId": {"postId": "xxx"}}时,这个路径才能读取到对应值。
  • 你的数据里agendaId是字符串类型,并非嵌套对象,所以Cosmos DB无法通过/agendaId/postId路径找到有效的分区键值,最终导致分区键列显示为空。
  • 解决步骤:删除当前容器,重新创建容器并将分区键设置为/agendaId,/postId,之后重新插入数据,就能在容器浏览器的分区键列看到组合后的分区键值了。

内容的提问来源于stack exchange,提问作者Marco Jr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 00:55:29