我在我的小应用程序中使用 neo4j 作为我的数据库。我的申请是关于管理候选人的简历(简历)。
这是我的图表:
现在,我正在做的是添加一个项目,其中包含项目使用的技能列表。
这是我的 neo4j 查询:
MATCH (user: User)
WHERE (user.Id = "74994fd8-40bb-48e8-adf1-bc11eeb6c035")
WITH user
MERGE (project: Project {Id: '02d5ad72-036c-47e9-a366-d5ca4a3e66e2'})
ON CREATE
SET project = {
Id: "02d5ad72-036c-47e9-a366-d5ca4a3e66e2",
Name: "VINCI GTR",
Description: "Description of VINCI GTR",
StartedTime: 0.0
}
MERGE (user)-[:DID_PROJECT]->(project)
WITH project, user
MATCH (user)-[:HAS_SKILL]->(skill: Skill)
WHERE skill.Id IN []
MERGE (project)-[:USED_SKILL]->(skill)
RETURN project
在我的查询中,我使用:WHERE skill.Id IN []
来确保我的技能列表为空,因为我想模拟没有可用技能的情况。
当我运行命令时,我无法接收新创建的项目,即使它已经在数据库中创建。我有这个结果:
我怎样才能:
- 在技能可用时创建用户和技能之间的关系,并且 -
- 如果没有技能可用,则跳过此操作。
- 返回新创建的
Project
实例?
谢谢