我有一个member
的文档集合,它有两个相关的属性:_key
和score
。我还在score
字段上创建了一个persistent
索引,因为这样可以显著加快排序速度。我想编写一个AQL查询,该查询根据特定成员(称为A)的排序索引返回不同的结果:
- 一律至少传回
score
之前的前5个成员。(LIMIT 5
) - 如果A在前10名中,则返回排名第6 - 10的成员。(
LIMIT 5, 5
) - 否则,返回排名直接高于和低于A的成员。(
LIMIT x - 1, 3
,x = A的排名)
1条答案
按热度按时间nhhxz33t1#
我无法在单个查询中完成此操作,但是我可以通过执行以下操作来获取成员的排名
然后使用第二个查询获取所需的排序数据,类似于
或者根据排序将具有
LIMIT 5
和LIMIT rank - 2, 3
的两个子查询连接起来。