android - 从表 -Parse.com 获取所有记录

标签 android parse-platform

我在一张表(HashTag -classname)上有大约 13000 条记录。我想在一个查询中检索所有这些。但是解析每个查询只允许 1000。任何其他方式获取所有记录..

 ParseQuery<ParseObject> query = ParseQuery.getQuery("HashTag");
 query.whereExists("Tag"); query.orderByAscending("Type"); query.setLimit(1000);
 query.findInBackground(new FindCallback<ParseObject>() {

                                @Override
                                public void done(List<ParseObject> list,
                                        ParseException e) {
                                    // TODO Auto-generated method stub
                                    if (e == null)
                                    {
                                        if (list.size() > 0) {
                                            for (int i = 0; i < list.size(); i++) {
                                                ParseObject p = list.get(i);
                                                String tagid = p.getString("Tag");
                                                String Type = p.getString("Type");
                                                class2 c2 = new class2();
                                                c2.type = "" + Type;
                                                c2.tag = "" + tagid;
                                                listClass2.add(c2);



                                            }

                                        }

最佳答案

当然,您可以在同一个表上运行多个查询,每次查询的 skip 属性递增 1000:

  1. 通过query.count()获取记录总数,并用它来设置一个'skip'变量
  2. 对每 1000 条记录运行一个新查询,相应地更新您的 skip 属性
  3. 当每个查询返回时正常处理记录

像这样:

    ParseQuery<ParseObject> query = ParseQuery.getQuery("HashTag");
    query.whereExists("Tag");
    query.countInBackground(new CountCallback() {
        public void done(int count, ParseException e) {
        if (e == null) {
              // The count request succeeded. Run the query multiple times using the query count
          int numQueries = Math.ceil(count / 1000); //Gives you how many queries to run
          for(int skipNum = 0; l < numQueries; l++){
             ParseQuery<ParseObject> query = ParseQuery.getQuery("HashTag");
             query.whereExists("Tag"); query.orderByAscending("Type"); 
             query.setLimit(skipNum * 1000);
             query.findInBackground(new FindCallback<ParseObject>() {
                //Run your query as normal here

             }
          }
        } else {
          // The request failed
        }
      }

关于android - 从表 -Parse.com 获取所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25998104/

相关文章:

python - 尝试通过 Python 中的 HTTPLib 将数据上传到 Parse

javascript - 在云代码中使用 javascript 的嵌套查询 (Parse.com)

android - 如何在一个LinearLayout中实现十个gridView的同步滚动

java - 如何高效遍历Bitmap?

java - Android从服务器下载视频

android - 无法解析 android.content.res.TypedArray.getDrawable() 索引 13 处的属性

ios - 动态添加 key Cloud Code Parse

数组中包含的字符串的 Objective-C PFQuery?

android - 如何打印百分比字符?

javascript - 循环解析全部保存与单独保存