函数 collect() 可以将一个别名的所有行放入一个列表(忽略为 null 的行),并返回该列表。聚合之后该别名及其所有同源别名只保留一行数据,其他行舍弃。
Arguments:
- 别名 <any>,点、边、路径取全部数据,表格取行内元素构成的列表
Returns:
- 列表 <list>
示例图集:(以下示例将在本图基础上运行)
在空图集中依次运行以下各行代码以创建该图数据:create().node_schema("professor").node_schema("student")
create().node_property(@*, "age", int32).node_property(@*, "email", string)
insert().into(@professor).nodes([{_id:"P001",_uuid:1,age:53,email:"test@yahoo.cn"},{_id:"P002",_uuid:2,age:27,email:"test@ultipa.com"}])
insert().into(@student).nodes([{_id:"S001",_uuid:3,age:27,email:"test@yeah.net"},{_id:"S002",_uuid:4,age:20,email:"test@w3.org"},{_id:"S003",_uuid:5,age:25,email:"test@gmail.com"}])
一般用法
示例:获取所有节点的 age 列表
find().nodes() as n
return collect(n.age)
[53,27,20,27,25]
示例:获取 @professor 点列表
find().nodes({@professor}) as n
return collect(n)
[
{"id":"P001","uuid":"1","schema":"professor","values":{"age":"53","email":"test@yahoo.cn"}},
{"id":"P002","uuid":"2","schema":"professor","values":{"age":"27","email":"test@ultipa.com"}}
]