簡體   English   中英

如何使用tinkerpop gremlin /框架參數化排序過濾器?

[英]How to parameterize the sort filter using tinkerpop gremlin / frames?

我想使用給定的字段名對結果進行排序:

@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時,結果將按用戶名排序。

看來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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM