我是neo4j的新手。对于我的要求,我需要获取 ids(collect) 列表并在同一查询中删除节点。
在下面的查询中,当我只返回 id 时,我得到了正确的结果,即;2个ID
START n=node:galleryid(galleryid='f0666ac5-9f61-4431-80b1-c9719ef8c1f9')
MATCH n-[rels*1..]->p
WITH n, rels, p, collect(p.photouniqueid) as photoids
RETURN photoids;
结果符合预期并得到它:["3dcd792b-9eed-4a74-826a-6801c9f2b707"] ["e5c91a60-41cf-4afb-8aa6-49a4af00dd38"]
但是当我尝试将删除子句附加到查询时,我只得到一个 id。
START n=node:galleryid(galleryid='f0666ac5-9f61-4431-80b1-c9719ef8c1f9')
MATCH n-[rels*1..]->p WITH n, rels, p, collect(p.photouniqueid) as photosid
FOREACH(rel IN rels: DELETE rel)
DELETE p
WITH n, photosid
MATCH n<-[r]-()
DELETE n, r
RETURN photosid;
Result - ["3dcd792b-9eed-4a74-826a-6801c9f2b707"]
==> 1 row
==> Nodes deleted: 3
==> Relationships deleted: 3
有人可以建议第二个查询有什么问题吗?谢谢您的帮助。