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

OPA Rego 统计指定Key出现次数的类型报错问题求助

报错原因
  • 你的myData是数组类型,不能直接对数组调用.Key属性,你在理解推导规则的时候混淆了遍历对象和原数组的引用。
  • 你通过keep := myData[_]已经把数组遍历的每个元素赋值给了变量keep,筛选条件应该针对单个元素keep判断,而不是直接操作原数组myData。
正确实现代码

你只需要把判断条件里的myData.Key替换为keep.Key即可,完整示例如下:

package play

// 输入数据
myData:= [{"Key": "use", "Value": "1"}, {"Key": "use", "Value": "2"}, {"Key": "att1", "Value": "3"}]

// 筛选所有Key为use的条目存入集合p
p := {keep | keep := myData[_]; keep.Key == "use"}

// 统计数量判断是否超过1条
use_count_over_1 := count(p) > 1

执行后use_count_over_1的结果为true,符合预期需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 15:18:06