我正在尝试从Parse.com表中查询最后20行。我已经按照教程并生成了以下代码。代码从表中返回20行,但不是最后20行。我返回前20项。如何只检索最后20行?
ParseQuery<ParseObject> query = ParseQuery.getQuery("Activities");
query.setLimit(20);
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> scoreList, ParseException e) {
}
});
答案 0 :(得分: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个结果,但结果是以相反的方式排序,因此应该按预期工作。
答案 1 :(得分:1)
我接受了提升命令的挑战,但无论如何都希望获得最后的记录。 解决方案很简单:
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
有时候你不想下令......
希望我能回馈这个能帮助我很多的伟大论坛!!