apoc.atomic.remove

详细信息

语法

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

描述

从属性的 LIST<ANY> 值中移除指定位置的元素。该过程随后会将属性设置为所得的 LIST<ANY> 值。

输入参数

名称

类型

描述

container

ANY

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

属性名称 (propertyName)

STRING

要从中移除值的属性名称。

position

INTEGER(整数)

列表中要移除项的位置。

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});

以下示例移除了数组 cars 中位于位置 1 的元素 X3

MATCH (p:Person {name:'John'})
CALL apoc.atomic.remove(p,'cars',1,5)
YIELD oldValue, newValue
RETURN oldValue, newValue;
结果
oldValue newValue

["Class A", "X3", "Focus"]

["Class A", "Focus"]