|| apoc.atomic.update - APOC 核心文档 - Neo4j 文档

apoc.atomic.update

详情

语法

apoc.atomic.update(container, propertyName, operation [, retryAttempts ]) :: (container, property, oldValue, newValue)

描述

使用 Cypher 操作更新属性值。

输入参数

名称

类型

描述

container

任意类型

包含待更新属性的节点或关系。

propertyName

字符串

待更新属性的名称。

operation

字符串

用于更新属性的操作。

retryAttempts

整数

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

返回参数

名称

类型

描述

container

任意类型

已更新的节点或关系。

property

字符串

已更新属性的名称。

oldValue

任意类型

属性的原始值。

newValue

任意类型

属性的新值。

使用示例

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

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

以下使用表达式的结果更新 salary1

MATCH (p:Person {name:'Ryan'})
CALL apoc.atomic.update(p,'salary1','n.salary1*3 + n.salary2',5)
YIELD oldValue, newValue
RETURN oldValue, newValue;

operation 表达式(第 3 个参数)中,作为 container(第 1 个参数)传入的实体使用变量 n 来引用。如果我们重命名节点/关系(如上例所示),我们仍然必须在表达式中将其引用为 n

结果
oldValue newValue

1800

6900

© . This site is unofficial and not affiliated with Neo4j, Inc.