如何在AgensGraph上绑定数组值?

时间:2019-03-29 05:38:29

标签: agens-graph

如何分解数组值绑定?

我尝试使用UNWIND子句。 但是,无法访问它。

是否存在替代方法,可以使用数组绑定或分解数组的方法?

1 个答案:

答案 0 :(得分:0)

不幸的是,AgensGrpah Client API上没有数组bing或性能很差。

为避免此问题,可以在查询中使用绑定数组对象。

函数“ json_array_elements”将数组分解为许多元素。

agens=# prepare arr_bind ( json ) as
agens-#     optional match (n) with $1 as arr limit 1
agens-#     with json_array_elements( arr ) as elem
agens-#     create ({'id':elem.id,'value':elem.value});
PREPARE
agens=# execute arr_bind ( '[ {"id":1,"value":"a"}, {"id":2,"value":"b"}, {"id":3,"value":"c"} ]' );
GRAPH WRITE (INSERT VERTEX 3, INSERT EDGE 0)
agens=# match (n) return n;
                   n                   
---------------------------------------
 ag_vertex[1.1]{"id": 1, "value": "a"}
 ag_vertex[1.2]{"id": 2, "value": "b"}
 ag_vertex[1.3]{"id": 3, "value": "c"}
(3 rows)

agens=# deallocate arr_bind;
DEALLOCATE