apoc.atomic.insert

详细信息

语法

apoc.atomic.insert(container, propertyName, position, value [, retryAttempts ]) :: (container, property, oldValue, newValue)

描述

在属性的 LIST<ANY> 值中的指定位置插入一个值。该过程随后将结果写回该属性。

输入参数

名称

类型

描述

container

ANY

包含列表属性的节点或关系。

属性名称 (propertyName)

STRING

要插入值的属性名称。

position

INTEGER(整数)

列表中插入项目的位置。

ANY

要插入的值。

retryAttempts

INTEGER(整数)

最大重试次数。默认值为:5

返回参数

名称

类型

描述

container

ANY

更新后的节点或关系。

属性 (property)

STRING

更新后的属性名称。

oldValue

ANY

属性上的原始值。

newValue

ANY

属性上的新值。

使用示例

本节中的示例基于以下示例图

CREATE (:Person {name:'Tom',age: 40})
CREATE (:Person {name:'Will',age: 35})
CREATE (:Person {name:'David', children: ['Anne','Sam','Paul']})
CREATE (:Person {name:'John', cars: ['Class A','X3','Focus']})
CREATE (:Person {name:'Ryan', salary1:1800, salary2:1500});

以下示例在 children 列表的第 2 位添加了 Mary

MATCH (p:Person {name:'David'})
CALL apoc.atomic.insert(p,'children',2,'Mary',5)
YIELD oldValue, newValue
RETURN oldValue, newValue;
结果
oldValue newValue

["Anne", "Sam", "Paul"]

["Anne", "Sam", "Mary", "Paul"]