apoc.map.setValues

Details

Syntax

apoc.map.setValues(map, pairs)

Description

Adds or updates the alternating key/value pairs (e.g. [key1,value1,key2,value2]) in a MAP.

Arguments

Name

Type

Description

map

MAP

The map to be updated.

pairs

LIST<ANY>

A list of items listed pairwise to add or update the map with.

Returns

MAP

Usage examples

The following updates a key in a map:

apoc.map.setValues
WITH {name:"Cristiano Ronaldo", country:"Portugal", dob:date("1985-02-05")} AS map,
    ["dob", date("1986-02-06"), "country", "Spain"] AS keysAndValues
RETURN apoc.map.setValues(map, keysAndValues) AS output
Cypher’s Map Comprehension
WITH {name:"Cristiano Ronaldo", country:"Portugal", dob:date("1985-02-05")} AS map,
    ["dob", date("1986-02-06"), "country", "Spain"] AS keysAndValues
RETURN
  {
    k: v IN map
    | k: CASE
      WHEN k IN keysAndValues THEN keysAndValues[coll.indexOf(keysAndValues, k) + 1]
      ELSE v
    END
 } AS output
Results
output
{
  "name": "Cristiano Ronaldo",
  "country": "Spain",
  "dob": "1986-02-06"
}