【发布时间】:2021-06-06 08:57:33
【问题描述】:
我正在使用 Neo4J 检索一个人及其技能。这是我的 Cypher 查询:
MATCH (p:Person {id: "1"})
OPTIONAL MATCH (p) -[exp:HAS_EXPERIENCE]->(s:Skill)
WITH collect(distinct {id: s.id, name: s.name}) as skills, p
RETURN p.id as id, skills
这是结果:
{
"id": "1",
"skills": [
{
"name": null,
"id": null,
}
]
}
如您所见,技能列表包含一个“默认”项目。但是,在这种特殊情况下,该人没有技能。
为什么结果包含一个数组项?如何调整查询以返回空数组?
使用 Neo4J 3.1.1。
【问题讨论】: