gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:24:40 26 4
gpt4 key购买 nike

我在一张表(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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com