如何通过 Redisgraph 中的任何属性对数组 属性 进行排序?
How to order an array property by any of its properties in Redisgraph?
我正在使用 Redisgraph。我有两种节点类型,Driver 和 Race,从 Driver 到 Race 的关系称为 racedAt。我知道如果我查询:
MATCH (r:Race)<-[p:racedAt]-(d:Driver)
RETURN r,p
这returns我同场比赛n次,其中n是车手人数。为了解决这个问题,我使用:
MATCH (r:Race)<-[p:racedAt]-(d:Driver)
RETURN r, collect(p) as p
在 _values[0] 中有一个 Race 并且 racedAt 在 _values[1].
让我们假设 racedAt 关系有一个 属性, position;我该怎么做才能按其内部 属性 位置对 _values[1] 数组进行排序?
我得到的结果:
_values[0]: { name: 'Monza' }
_values[1]: [ { driver: 'Hamilton', position: '2'}, { driver: 'Verstappen', position: '1'} ]
我想要的结果:
_values[0]: { name: 'Monza' }
_values[1]: [ { driver: 'Verstappen', position: '1'}, { driver: 'Hamilton', position: '2'} ]
谢谢!
在收集结果之前使用 ORDER BY
:
MATCH (r:Race)<-[p:racedAt]-(d:Driver)
WITH r, p
ORDER BY p.position
RETURN r, collect(p) AS p
我正在使用 Redisgraph。我有两种节点类型,Driver 和 Race,从 Driver 到 Race 的关系称为 racedAt。我知道如果我查询:
MATCH (r:Race)<-[p:racedAt]-(d:Driver)
RETURN r,p
这returns我同场比赛n次,其中n是车手人数。为了解决这个问题,我使用:
MATCH (r:Race)<-[p:racedAt]-(d:Driver)
RETURN r, collect(p) as p
在 _values[0] 中有一个 Race 并且 racedAt 在 _values[1].
让我们假设 racedAt 关系有一个 属性, position;我该怎么做才能按其内部 属性 位置对 _values[1] 数组进行排序?
我得到的结果:
_values[0]: { name: 'Monza' }
_values[1]: [ { driver: 'Hamilton', position: '2'}, { driver: 'Verstappen', position: '1'} ]
我想要的结果:
_values[0]: { name: 'Monza' }
_values[1]: [ { driver: 'Verstappen', position: '1'}, { driver: 'Hamilton', position: '2'} ]
谢谢!
在收集结果之前使用 ORDER BY
:
MATCH (r:Race)<-[p:racedAt]-(d:Driver)
WITH r, p
ORDER BY p.position
RETURN r, collect(p) AS p