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

无法通过Azure UI向Cosmos DB(NoSQL API)批量上传数据求助

Cosmos DB批量上传报错:Cannot use the 'in' operator to search for 'location' in 1

根因分析

容器分区键设置为/x_id/location/name,该路径要求x_id是嵌套对象,且包含location子对象,location下需有name字段。但你上传的JSON数据中,x_id是字符串类型(如"1"),location是与x_id平级的独立字段,完全不匹配分区键的路径规则。

单条上传时Cosmos DB UI可能存在容错逻辑,而批量上传会严格按路径解析,导致代码尝试在字符串"1"中查找location属性,触发in运算符错误。

修复方案

根据实际需求二选一:

  • 调整分区键路径:如果你的分区键意图是使用平级的location或x_id字段,修改容器分区键为对应路径,比如/location或/x_id,匹配现有数据结构。
  • 修改数据结构:若必须保留/x_id/location/name的分区键路径,需调整JSON数据为嵌套结构,示例如下:
    [
      {
        "x_id": {
          "location": {
            "name": "10"
          }
        },
        "type": "ROLL",
        "source": "A",
        "event_name": "B"
      },
      {
        "x_id": {
          "location": {
            "name": "11"
          }
        },
        "type": "ROLL",
        "source": "C",
        "event_name": "D"
      }
    ]
    

验证操作

  1. 进入Cosmos DB容器配置页,更新分区键(或调整数据结构)
  2. 使用Upload Item重新批量上传数据,确认错误消除

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 21:42:44