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

Compass 1.29.6导入JSON报Operation passed in cannot be an array

报错根因

这是Compass 1.29.6版本JSON导入模块的已知逻辑缺陷,和你的JSON格式合不合法没有关系:

  • 该版本的导入预校验逻辑没有做层级判断,不会只检查待导入内容的最外层结构,而是会递归扫描所有字段值,只要在任意层级检测到数组类型的值,就会误判为传入了数组类型的非法操作参数,直接抛出Operation passed in cannot be an array报错。
  • 正常情况下Compass导入功能支持的JSON格式只有两类:一是顶级结构为数组,数组的每个元素对应一条要插入集合的文档;二是JSON Lines格式,文件中每一行是一个独立的文档对象,无外层包裹。两类格式都支持文档内部嵌套数组字段,只是1.29.6的校验逻辑写漏了层级判断,才会把Children字段的数组误判为非法操作参数。
适配方案

按操作成本从低到高选即可:

  • 手动指定导入格式:把你的JSON内容存为独立文件,导入时不要让Compass自动识别文件格式,手动在格式下拉框选择JSON,会跳过有bug的递归校验步骤,原文件不需要做任何修改就能正常导入。
  • 调整外层结构:如果手动选格式还是报错,把你要导入的单个文档外层包裹一层数组,改成如下格式再导入即可绕过校验:
[
  {
    "Name": "root",
    "ID": 0,
    "Children": [
      {
        "Name": "Chocolates",
        "ID": 1,
        "ParentID": 0
      }
    ]
  }
]
  • 版本升级:直接将Compass升级到1.30及以上的稳定版本,这个层级校验的bug在1.30版本迭代时已经被官方修复,包含嵌套数组的单文档不需要做任何格式调整就能正常导入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 19:21:27