where语句过滤掉不在list中的节点
发布于 5 年前 作者 Windancer94 2414 次浏览 来自 问答

想在where语句中过滤掉出现在list中的节点,有什么办法么?目前只知道有where XX in list,有没有类似where XX not in list的语句?

3 回复

create(:Int {int:1}), (:Int {int:2}), (:Int {int:3}), (:Int {int:5})

:param lyst:[1,2,3,4]

match(a:Int) where not (a.int in $lyst) return a 或者你可以看这里 http://neo4j.com.cn/topic/5c861fdbcd4dafa110f1d08e

如果列表为上一查询返回的collect(*),应该如何定义参数呢 ?我想用下面这种,但是行不通,返回的结果中还是有列表中的值,相当于where语句没有起作用,不知道哪里出错了,谢谢! match… with collect(…) as col match… where not XX in col return

@Windancer94 我这样做是可行的。方便把具体的cql截图一起看看吗?如果需要快速解决问题,可以把要查询的对应标签的对象增加一个新的属性,用 0 1区分查询即可。

回到顶部