【发布时间】:2018-03-19 03:26:45
【问题描述】:
我正在创建一个查询,它可以创建一个帖子并向其添加图片链接、主题标签和流派,但是......
- 我不确定这是否是像我现在这样做的好方法。
- 每次 MATCH 找不到节点时,我的查询都会失败,这种情况可能经常发生。
这是我的代码:
MATCH (user:User)
WHERE ID(user) = 611
WITH user
MERGE (post:Post {description: 'test', type: 'sketch'}) - [p:Post {date_upload: timestamp(), visual: 0 }] ->(user)
WITH user, post
MATCH (gen:Genre)<-[:IT]-(:GenreLang {name: 'Drammatico'})
MERGE (post)-[:HAS_GENRE]->(gen)
WITH user, post
MATCH (gen:Genre)<-[:IT]-(:GenreLang {name: 'Azione'})
MERGE (post)-[:HAS_GENRE]->(gen)
WITH user, post
MATCH (post)-[:HAS_GENRE]->(g)<-[:IT]-(r)
RETURN user, post, r.name
我使用 Node.js 中的 foreach 创建所有这些匹配合并,这取决于他们给我的流派或主题标签的数量,我需要创建更多查询。
【问题讨论】:
-
忘记 ID(user) 节点 ID 不适合我们开发用户。仅仅是因为 id 可能会被重新归因。使用您掌握的标识符,而不是节点 ID。