2014-09-21 71 views
1

我想从我的Parse.com表中查询最后20行。我遵循教程并生成了下面的代码。代码从表中返回20行,但不是最后20行。我返回前20项。如何只检索最后20行?从parse.com表中查询最后一行?

ParseQuery<ParseObject> query = ParseQuery.getQuery("Activities"); 
query.setLimit(20); 
query.findInBackground(new FindCallback<ParseObject>() { 
    public void done(List<ParseObject> scoreList, ParseException e) { 
    } 
}); 

回答

5

看来你只需要在你正在创建的ParseQuery上使用不同的排序方法。您可以订购由CreatedDate字段查询结果:

// Sorts the results in descending order by the Created Date field 
query.orderByDescending("dateCreated"); 

所以,在你的代码,这将是这样的:

//Where "CreatedDate", set the name of the Created Date field in your table. 
ParseQuery<ParseObject> query = ParseQuery.getQuery("Activities"); 
query.orderByDescending("CreatedDate").setLimit(20); 
query.findInBackground(new FindCallback<ParseObject>() { 
    public void done(List<ParseObject> scoreList, ParseException e) { 
    } 
}); 

最后,你也得到了前20倍的结果,但结果会以相反的顺序排列,所以应该按照预期工作。

0

我有挑战升序,但想要得到最后的记录无论如何。 解决方法很简单:

query.ascending("your col"); 

query.find({ 
     success: function(result){ 
     var lastRow = (result.length) - 1; 
     var highestValue = result[lastRow].get("your col"); 
     }, error: function //... and so on 

有时候你不想降序排列...

希望我能到这个伟大的论坛,帮助了我很多回馈!