apoc.atomic.add

Details

Syntax

apoc.atomic.add(container, propertyName, number [, retryAttempts ]) :: (container, property, oldValue, newValue)

Description

Sets the given property to the sum of itself and the given INTEGER or FLOAT value. The procedure then sets the property to the returned sum.

Input arguments

Name

Type

Description

container

ANY

The node or relationship that contains the property to which the value will be added.

propertyName

STRING

The name of the property whose value will be added to.

number

INTEGER | FLOAT

The number to add.

retryAttempts

INTEGER

The max retry attempts. The default is: 5.

Return arguments

Name

Type

Description

container

ANY

The updated node or relationship.

property

STRING

The name of the updated property.

oldValue

ANY

The original value on the property.

newValue

ANY

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 adds 10 to the property age for Tom:

MATCH (n:Person {name:'Tom'})
CALL apoc.atomic.add(n,'age',10,5)
YIELD oldValue, newValue
RETURN oldValue, newValue;
Results
oldValue newValue

40

50