apoc.map.submap

详细信息

语法

apoc.map.submap(map, keys [, values, fail ])

描述

返回指定键的子映射。如果其中一个键不存在,且没有默认值,该函数将抛出异常。

参数

名称

类型

描述

Map

MAP

要从中提取子映射的映射。

keys

LIST<STRING>

要提取到子映射中的键列表。

值 (values)

LIST<ANY>

给定键的默认值。默认值为:[]

fail

布尔值 (BOOLEAN)

如果键不存在且未提供默认值,若该参数为 true,则抛出异常;若为 false,则返回 null 值。默认值为:true

返回

MAP

用法示例

以下代码返回一个仅包含键 aMAP

RETURN apoc.map.submap({a:1,b:1},['a']) AS output;
结果
输出

{a: 1}

以下代码会抛出异常,因为映射中不包含键 c

RETURN apoc.map.submap({a:1,b:1},['c']) AS output;
结果

Failed to invoke function apoc.map.submap: Caused by: java.lang.IllegalArgumentException: Key c is not of one of the existing keys [a, b]

以下代码为缺失的键 c 返回一个包含默认值 42MAP

RETURN apoc.map.submap({a:1,b:1},['c'], [42]) AS output;
结果
输出

{c: 42}

以下代码为缺失的键 c 返回一个包含 null 值的 MAP

RETURN apoc.map.submap({a:1,b:1},['c'], null, false) AS output;
结果
输出

{c: NULL}