apoc.atomic.remove
Procedure
apoc.atomic.remove(container ANY, propertyName STRING, position INTEGER, retryAttempts INTEGER)
- removes the element at position from the LIST<ANY>
value of a property.
The procedure then sets the property to the resulting LIST<ANY>
value.
Signature
apoc.atomic.remove(container :: ANY, propertyName :: STRING, position :: INTEGER, retryAttempts = 5 :: INTEGER) :: (container :: ANY, property :: STRING, oldValue :: ANY, newValue :: ANY)
Input parameters
Name | Type | Default |
---|---|---|
container |
ANY |
null |
propertyName |
STRING |
null |
position |
INTEGER |
null |
retryAttempts |
INTEGER |
5 |
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 removes the element X3
, which is at position 1, from the array cars
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"] |