3

我想執行一個查詢,獲取結果,然後將光標移動到下一個項目(如果有)。我發現的唯一相關的帖子是:Objectify paging with Cursors使用Objectify獲取遊標而不迭代項目

有沒有這樣做的方式沒有迭代通過項目?

Query<User> query = ofy().load().type(User.class).limit(RecordLimit).filter("gameId", gameId); 
//execute and get the results 
List<User> users = query.list() 
//get the cursor for the next user 

回答

-2

Query本身是可迭代的 - 就像遊標一樣。

您可以直接做:

Query<User> query = blah; 
for(User u: query) { 
    //u is next item from the "cursor" 
} 
+0

謝謝,但它不能解決我的問題。我不想遍歷結果。 – mbsheikh

+0

你可以試試:query.iterator()。next()來獲得「下一個項目,如果有的話」。不知道這是你在找什麼。 –

+0

他想要'iterator.getCursor()。toWebSafeString()'而不必關心interator。這可以在JDO中完成,所以如果不是更好的Ofy,我會感到震驚。但我無法弄清楚,你有過嗎? –

1
String cursor = query.iterator().getCursor().toWebSafeString(); 

看看這些unit tests以使事情更加清楚。