如何解决Neo4J:如何在 Cypher 查询中正确匹配键值对
我有一个关于 Cypther 查询的问题。我想将某些值作为属性附加到具有特定 id 的节点,这也是一个属性。
因此,出于可重现的小示例的目的,假设我们有 3 个 nodes
,称为 car
。这些节点中的每一个都具有属性 id
。现在对于两个 nodes
,我有值 max_speed
,我想通过 id
识别这些节点并附加 max_speed
。因此我有两个列表 id = [1,2]
和 max_speed = [180,200]
。有了这个列表,我想更新三个 car
节点中的两个。所以带有 id = 1
的节点应该得到 max_speed = 180
等
我想我的 Cypher 应该看起来像这样,但不幸的是我不知道如何编写 SET
语句,非常感谢您的帮助。
MATCH (c:car)
WHERE ANY (id IN c.id WHERE id IN [1,2])
SET ...
RETURN c
非常感谢您,祝您周末愉快。
M.
解决方法
UNWIND 是一种方法。 我用浏览器参数向你演示了这个概念:
:param carspeeds => ({cars:[{ id:1,speed:10},{ id:2,speed:20}]})
UNWIND $carspeeds.cars AS carspeed
MATCH (c:Car {id:carspeed.id})
SET c.maxSpeed=carspeed.speed
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。