如何在Neo4j Cypher列表中增减指定元素的值?
在Cypher中修改列表指定元素的值
Cypher不支持直接对列表元素执行slots[0] +=1这类赋值操作,需要通过拆分列表+重新拼接的方式实现需求:
基础示例(处理独立列表)
WITH [1,2,3,4] AS slots // 拆分第一个元素并更新,保留剩余元素 WITH slots, slots[0] + 1 AS updated_first, slots[1..] AS rest_elements // 拼接成新列表 RETURN [updated_first] + rest_elements AS updated_slots
执行后返回结果:[2, 2, 3, 4]
更新节点属性中的列表
如果列表是节点的属性,比如节点n的slots属性,可通过以下语句更新:
MATCH (n:YourNodeLabel) WITH n, n.slots AS slots SET n.slots = [slots[0] + 1] + slots[1..]
内容的提问来源于stack exchange,提问作者MichaelE
相关产品推荐
相关产品推荐

