0

我想使用给定的字段名对结果进行排序:

@GremlinGroovy(value = "it.in('HAS_USER').sort{fieldName}._()[skip..limit]")
public Iterable<TPUser> getUsersInOrder(@GremlinParam("fieldName") String fieldName, @GremlinParam("skip") int skip, @GremlinParam("limit") int limit);

不幸的是getUsersInOrder("it.username", 0, 5)的结果没有按预期排序。当我用“it.username”替换 gremlin 代码中的 fieldName 时,结果按用户名排序。

4

1 回答 1

0

看起来 sort 方法是 groovy 而不是 gremlin 的一部分。相反, order 方法可用于对条目进行排序:

@GremlinGroovy(value = "it.in('HAS_USER').order({ it.b.getProperty(fieldName) <=> it.a.getProperty(fieldName) })[skip..limit]")
public Iterable<TPUser> getUsersInOrder(@GremlinParam("fieldName") String fieldName, @GremlinParam("skip") int skip, @GremlinParam("limit") int limit);
于 2015-06-08T09:07:38.900 回答