apoc.atomic.update
Syntax |
|
||
Description |
Updates the value of a property with a Cypher operation. |
||
Input arguments |
Name |
Type |
Description |
|
|
The node or relationship with the property to be updated. |
|
|
|
The name of the property to be updated. |
|
|
|
The operation to perform to update the property. |
|
|
|
The max retry attempts. The default is: |
|
Return arguments |
Name |
Type |
Description |
|
|
The updated node or relationship. |
|
|
|
The name of the updated property. |
|
|
|
The original value on the property. |
|
|
|
The new value on the property. |
Usage examples
The examples in this section are based on the following sample graph:
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});
The following updates salary1
with the result of an expression:
MATCH (p:Person {name:'Ryan'})
CALL apoc.atomic.update(p,'salary1','n.salary1*3 + n.salary2',5)
YIELD oldValue, newValue
RETURN oldValue, newValue;
In the operation
expression (3rd parameter) the entity passed in as container
(1st parameter) is referred to using the variable n
.
If we rename our node/rel (as in the example above) we still have to refer to it in the expression as n
.
oldValue | newValue |
---|---|
1800 |
6900 |