【发布时间】:2018-07-30 16:02:06
【问题描述】:
在 ArangoDB 中,我有一个 trip 集合中的文档,它通过 tripToDriver 集合中的边与 driver 集合中的文档相关,并且行程文档也与 departure 集合中的文档相关,通过departureToTrip 集合中的边。
为了获取他们的司机具有给定 idNumber 并且其关联的出发时间在提供的日期/时间之后具有 startTime 的行程,我已经成功编写了以下 AQL:
FOR doc IN trip
LET drivers = (FOR v IN 1..1 OUTBOUND doc tripToDriver RETURN v)
LET departures = (FOR v in 1..1 INBOUND doc departureToTrip RETURN v
FILTER drivers[0].idNumber == '999999-9999' AND departures[0].startTime >= '2018-07-30'
RETURN doc
但我想知道是否有更简洁/优雅的方式来实现相同的结果?
一个相关的问题,因为我使用的是 Spring Data ArangoDB:是否可以通过派生查询来实现这个结果?
对于单个关系,我可以创建如下查询:
Iterable<Trip> findTripsByDriversIdNumber( String driverId ); 但没有运气将出发关系纳入此签名(可能是因为它是入站的?)。
【问题讨论】:
标签: spring-data arangodb aql