也许这种方法不太对,但我使用了可选匹配和收集构建了一个Cypher查询。如果有数据,一切都很好,如果没有,collect返回指定属性的null。根据文档,看起来这是预期的。
理想情况下,当没有匹配时,我希望collect返回一个空数组或null。我正在使用以下内容...
理想情况下,当没有匹配时,我希望collect返回一个空数组或null。我正在使用以下内容...
MATCH (p) WHERE id(p) = 11
OPTIONAL MATCH (p) -[:car]- (c)
OPTIONAL MATCH (p) -[:driver]- (u)
RETURN {
_id: id(p), name: p.name, type: p.type,
cars: collect({_id: id(c), name: c.name}),
drivers: collect({_id: id(u), name: u.email})
} AS place