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

在CosmosDB中能否仅返回部分文档字段以节省吞吐量?

CosmosDB 查询指定字段实现说明

这个需求完全可以实现,不需要每次返回完整文档,且该操作确实能有效降低查询消耗的请求单元(RU,即你提到的吞吐量成本)。

Cosmos DB 的 SQL 查询原生支持投影查询能力,你只需要在查询语句中明确指定需要返回的字段即可,不需要使用全量查询语法 SELECT *。

使用示例

假设你的文档结构如下:

{
  "id": "item_001",
  "name": "测试商品",
  "price": 99.9,
  "description": "超大字段,包含数千字商品介绍",
  "inventory": {
    "total": 1000,
    "warehouse": "WH-003",
    // 其他库存相关子字段
  },
  "orderHistory": [
    // 上百条历史订单记录
  ],
  // 其余数十个业务字段
}

如果仅需要返回 name 和 price 两个字段,查询语句写为:

SELECT c.name, c.price FROM c WHERE c.id = "item_001"

注意事项

  • 投影查询仅返回你指定的字段,返回的报文大小远小于完整文档,对应的RU消耗会明显降低,原始文档越大、需要返回的字段越少,吞吐量节省效果越显著
  • 如果你需要返回的是嵌套结构下的字段,也可以直接指定路径获取,比如 SELECT c.userInfo.basic.nickname FROM c
  • 即使你通过各语言的官方SDK发起查询,而非直接编写SQL语句,所有SDK也都支持配置投影字段,无需拉取完整文档后在客户端自行过滤

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 21:15:04