collect()返回的是一个列表吗

  • nebula 版本:2.5.0
$var1 = GO 2 steps from "_WECHAT****876242" over order_uid_cardno BIDIRECT
     yield order_uid_cardno._dst as res 
     | go from $-.res over order_uid_cardno bidirect yield order_uid_cardno._src as src, order_uid_cardno._dst as dst
     | group by $-.src yield $-.src as src, count(*) as cnt 
     | yield collect($-.src) as v where $-.cnt>50;
     
MATCH p=(v:account)-[e*2]-(v2:account)
WHERE id(v) IN ["_WECHAT****876242"]
and v2.is_supplier=="0"
and id(v2) not in $var1
and e[0].cnt!="0" and e[1].cnt!="0"
     RETURN distinct p LIMIT 100;

执行的结果是:
var1=[“M257", "_WECHAT6242”]
第二个match会报错,不要and id(v2) not in $var1 是可以执行的

Internal Error: Wrong type result, the type should be NULL,EMPTY or BOOL

1、collect 返回的结果是一个list 列表
2、 第二个match语句中。id(v2) not in $var1 这个语句会校验错误, 原因现在是 not in 后面必须跟显式的 set/list/map 类型, 并且不建议opencypher和ngql语句混用

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。