我有以下Neo4J Cypher查询:
UNWIND $mentionsRelations as mention
MATCH (u:User{name:mention.from})
RETURN u.uid;
这些参数是:
{
"mentionsRelations": [
{
"from": "a",
"to": "b"
},
{
"from": "c",
"to": "d"
}
]
}
是否可以使用FOREACH
查询重写它以获得相同的结果?
我知道它不接受MATCH
参数,但是我很好奇是否有解决方法来获得相同的结果?
基本上,我要使用mentionsRelations
在FOREACH
中进行重申,然后在其发现的数据库中输出所有匹配项。
谢谢!
答案 0 :(得分:0)
当前不可能,FOREACH仅用于写操作,不能仅用于与节点匹配。
UNWIND是否有某些理由对您不起作用?
您还可以根据列表成员资格进行匹配,这应该类似地起作用,尽管您必须提取出用于属性匹配的值:
WITH [mention in $mentionsRelationships | mention.from] as froms
MATCH (u:User)
WHERE u.name in froms
RETURN u.uid;