分析查询总是返回一个空列表

问题描述:

我有以下问题:分析查询总是返回一个空列表

我有两个Android应用:在一个应用程序,我通过解析数据添加到蒙戈DB和其他应用程序,我想要从添加的信息第一个应用程序。

问题是,在第二个应用程序中,每次尝试查询数据库时,都会得到一个空列表。我使用API​​ KEY检查了Mongo DB的密钥,并且在我的应用程序中一切似乎都正常。

这里是代码的第二应用在RecyclerView

public class ParseDb extends Application { 

@Override 
public void onCreate() { 
    super.onCreate(); 

    // Enable Local Datastore. 
    Parse.enableLocalDatastore(this); 

    // Add your initialization code here 
    Parse.initialize(new Parse.Configuration.Builder(getApplicationContext()) 
      .applicationId(API_KEY) 
      .server("http://injuriesandsuspensions.herokuapp.com/parse/") 
      .build() 
    ); 




    ParseUser.enableAutomaticUser(); 
    ParseACL defaultACL = new ParseACL(); 
    // Optionally enable public read access. 
    defaultACL.setPublicReadAccess(true); 
    ParseACL.setDefaultACL(defaultACL, true); 

} 

public class MainActivity extends Activity { 

private List<AboutTeams> aboutTeamsList = new ArrayList<AboutTeams>(); 
private RecyclerView recyclerView; 
private GamesAdapter gamesAdapter; 

public void retrieveGamesFromDatabase(){ 
    ParseQuery<ParseObject> query = ParseQuery.getQuery("InjuriesAndSuspensions"); 
    query.whereEqualTo("score", "none"); 
    query.findInBackground(new FindCallback<ParseObject>() { 
     public void done(List<ParseObject> gamesList, ParseException e) { 
      if (e == null) { 
       Log.d("score", "Retrieved " + gamesList.size() + " scores"); 
       for(int i = 0; i < gamesList.size(); i++){ 
        AboutTeams aboutTeams = new AboutTeams(); 
        aboutTeams.setId(String.valueOf(gamesList.get(i).getObjectId())); 
        aboutTeams.setScore(String.valueOf(gamesList.get(i).get("score"))); 
        aboutTeams.setHomeTeam(String.valueOf(gamesList.get(i).get("homeTeam"))); 
        aboutTeams.setHomeTeamMissing(String.valueOf(gamesList.get(i).get("homeTeamMissingPlayers"))); 
        aboutTeams.setAwayTeam(String.valueOf(gamesList.get(i).get("awayTeam"))); 
        aboutTeams.setAwayTeamMissing(String.valueOf(gamesList.get(i).get("awayTeamMissingPlayers"))); 
        aboutTeams.setDate(String.valueOf(gamesList.get(i).get("gameDate"))); 
        Log.d("About Teams " , aboutTeams.toString()); 
        aboutTeamsList.add(aboutTeams); 
        gamesAdapter.notifyDataSetChanged(); 
       } 

      } else { 
       Log.d("score", "Error: " + e.getMessage()); 
      } 
     } 
    }); 
} 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main_listview); 

    recyclerView = (RecyclerView) findViewById(R.id.recycler_view); 

    gamesAdapter = new GamesAdapter(aboutTeamsList); 

    RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext()); 
    recyclerView.setLayoutManager(mLayoutManager); 
    recyclerView.setItemAnimator(new DefaultItemAnimator()); 
    recyclerView.setAdapter(gamesAdapter); 

    retrieveGamesFromDatabase(); 

} 

请帮助为I`ve这个东西一直在挣扎了将近3天检索信息。

+0

?你应该提供一些日志或你得到的错误... –

+0

我的查询query.whereEqualTo(“score”,“none”);在数据库中有这个。不是查询是问题,因为我没有得到任何错误。我一直得到一个空列表。我也试图从“伤病和悬崖”中获得所有的物品,但仍然空空如也。 – dragosiv

+0

使用仪表板验证目标分析对象上的ACL prop值,然后确保查询具有通过目标对象上的ACL从关联用户权限获得的主键或推断访问。 –

当我加入到收藏数据库信息,我用didn`t的的parseObject这行加入,我在我的应用程序初始化解析:

defaultACL.setPublicReadAccess(真);

如何初始化解析完整代码:如果你有空List这是确定的,如果你的查询犯规匹配任何合适的

public class AddToDB extends Application { 

@Override 
public void onCreate() { 
    super.onCreate(); 

    // Enable Local Datastore. 
    Parse.enableLocalDatastore(this); 

    // Add your initialization code here 
    Parse.initialize(new Parse.Configuration.Builder(getApplicationContext()) 
      .applicationId(API_KEY) 
      .server(SERVER_URL) 
      .build() 
    ); 


    ParseUser.enableAutomaticUser(); 
    ParseACL defaultACL = new ParseACL(); 
    // Optionally enable public read access. 
    **defaultACL.setPublicReadAccess(true);** 
    ParseACL.setDefaultACL(defaultACL, true); 
} 

}