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

如何在Python的azure.cosmos 4.3.0中查询Cosmos DB带斜杠分区键

解决Azure Cosmos DB for NoSQL查询带斜杠分区键的问题

要查询带斜杠的分区键'/pricedate',正确的做法是用方括号包裹属性名,这是Cosmos DB SQL语法中处理含特殊字符属性的标准方式。

正确的查询代码

# 用方括号引用带斜杠的属性名,同时指定分区键提升性能
x = container.query_items(
    query="select * from c where c[\"/pricedate\"] = '2018-04-01'",
    partition_key='2018-04-01'
)

# 遍历查询结果
for item in x:
    print(item)

之前三种写法的问题分析

  • 第一种c.pricedate:实际属性名是/pricedate,这个写法匹配不到对应字段,查询无结果,遍历的时候触发StopIteration错误
  • 第二种c./pricedate:语法完全错误,点号后不能直接跟斜杠,不符合Cosmos DB SQL规范
  • 第三种c."/pricedate":Cosmos DB SQL不支持用双引号包裹属性名,必须用方括号处理特殊字符属性

额外优化建议

尽量不要开启enable_cross_partition_query=True,跨分区查询性能会很差。直接指定partition_key参数,能让查询直接定位到目标分区,大幅提升效率。

内容的提问来源于stack exchange,提问作者Dean MacGregor

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 20:15:39