复合数据类型第2部分
#postgres #json #database #apache

在第1部分中,我们讨论了复合数据类型第1部分。现在,在第2部分中,我们将讨论有关复合数据类型的更多部分。我们的重点是地图。

地图:

您可以在Cypher中构造地图。
使用agtypes的简单地图。
查询:
以下查询代表具有简单数据类型的字面图。

SELECT *
FROM cypher('graph_name', $$
    WITH {int_key: 1, float_key: 1.0, numeric_key: 1::numeric, bool_key: true, string_key: 'Value'} as m
    RETURN m
$$) AS (m agtype);

它返回图中的地图。

使用复合数据类型的地图:

地图也可以包含复合数据类型,例如列表和其他地图。
查询:

SELECT *
FROM cypher('graph_name', $$
    WITH {listKey: [{inner: 'Map1'}, {inner: 'Map2'}], mapKey: {i: 0}} as m
    RETURN m
$$) AS (m agtype);

以上查询将返回屏幕上的列表和映射。

您还可以在查询时访问地图内的属性。例如,以下查询将返回int键的值,该值依次为1。
查询:

SELECT *
FROM cypher('graph_name', $$
    WITH {int_key: 1, float_key: 1.0, numeric_key: 1::numeric, bool_key: true, string_key: 'Value'} as m
    RETURN m.int_key
$$) AS (int_key agtype);

您还可以访问地图中的列表元素。
查询:
以下查询包含地图列表。您可以使用方括号和其中的索引号访问列表的内容。

SELECT *
FROM cypher('graph_name', $$
    WITH {listKey: [{inner: 'Map1'}, {inner: 'Map2'}], mapKey: {i: 0}} as m
    RETURN m.listKey[0]
$$) AS (m agtype);

您还可以在博客here的第1部分中阅读有关列表。

参考:

您可以在Age网站和GitHub上关注更多内容。

  1. Apache age
  2. Apache age Github