ArangoDB自定义排序顺序

Ale*_*ght 1 mysql nosql arangodb aql

我想按特定顺序按字段排序,比方说2,4,1,5,3.

在MySQL中,我可以使用ORDER BY FIELD(id,2,4,1,5,3).

ArangoDB有什么相同的东西吗?

stj*_*stj 8

我认为应该可以使用POSITIONAQL函数,它可以返回数组中元素的位置

FOR i IN [ 1, 2, 3, 4, 5 ]                  /* what to iterate over */
  SORT POSITION([ 2, 4, 1, 5, 3 ], i, true) /* order to be returned */
  RETURN i
Run Code Online (Sandbox Code Playgroud)

这将返回:

[ 2, 4, 1, 5, 3 ]
Run Code Online (Sandbox Code Playgroud)

更新:我的原始答案包括CONTAINSAQL功能,但它应该是POSITION!