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

Azure Cosmos DB查询:获取单医生跨分区所有唯一officeId

Azure Cosmos DB 跨分区获取医生唯一officeId查询方案

针对按networkId分区的医生容器,要通过sourceProviderNumber获取该医生跨所有分区的唯一officeId并合并为单条记录,可使用以下SQL查询:

SELECT 
    c.sourceProviderNumber,
    ARRAY_DISTINCT(ARRAY_FLATTEN(COLLECT(c.offices), 1)) AS uniqueOfficeIds
FROM c
WHERE c.sourceProviderNumber = '@targetSourceNumber'
GROUP BY c.sourceProviderNumber

关键逻辑说明

  • COLLECT(c.offices):将所有匹配分区中医生文档的办公点数组收集为一个二维数组
  • ARRAY_FLATTEN(..., 1):把二维数组展开为一维数组,方便后续去重
  • ARRAY_DISTINCT(...):对展开后的数组去重,得到所有唯一的officeId
  • GROUP BY c.sourceProviderNumber:强制将同一sourceProviderNumber的所有分区结果合并为单条记录

注意事项

  • 必须开启跨分区查询:在Azure Portal查询编辑器中勾选「Enable cross-partition query」,或在SDK中设置EnableCrossPartitionQuery = true
  • 性能提示:如果同一sourceProviderNumber对应大量分区文档,查询性能取决于匹配的分区数量,可针对性调整索引策略优化查询速度

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 16:32:15