Join 解析服务器-如何在单个查询中查找查询字段并将其替换为另一个表中的字段

Join 解析服务器-如何在单个查询中查找查询字段并将其替换为另一个表中的字段,join,parse-platform,nosql,Join,Parse Platform,Nosql,我无法在解析服务器上找到以下问题的解决方案。这相当于在SQL中使用JOIN,但因为Parse Server使用NoSQL,所以解决方案不是JOIN 发行; 报告屏幕显示查询结果。但其中一个字段需要从另一个类中查找,并替换为另一个类中的字段 我只能通过使用两个独立的嵌套查询来解决这个问题,但这是一种效率低下的方法。 您能告诉我如何在单个查询中或更高效地执行以下操作吗 //get query result from database ParseQuery<ParseObjec

我无法在解析服务器上找到以下问题的解决方案。这相当于在SQL中使用JOIN,但因为Parse Server使用NoSQL,所以解决方案不是JOIN

发行; 报告屏幕显示查询结果。但其中一个字段需要从另一个类中查找,并替换为另一个类中的字段

我只能通过使用两个独立的嵌套查询来解决这个问题,但这是一种效率低下的方法。 您能告诉我如何在单个查询中或更高效地执行以下操作吗

 //get query result from database
        ParseQuery<ParseObject> query = ParseQuery.getQuery("access");
        query.whereStartsWith("tokenid", "prefix");
        query.findInBackground(new FindCallback<ParseObject>() {
            @Override
            public void done(List<ParseObject> objects, ParseException e) {
               for (int i=0; i<objects.size(); i++) {
                   String reportField1 = objects.get(i).getString("name");
                   String lookup = objects.get(i).getString("cityID");

                   //start the second query
                   ParseQuery<ParseObject> query2 = ParseQuery.getQuery("cities");
                   query2.whereEqualTo("cityID", lookup);
                   query2.getFirstInBackground(new GetCallback<ParseObject>() {
                       @Override
                       public void done(ParseObject object, ParseException e) {
                           String reportField2 = object.getString("cityname");
                       }
                   });
               }
            }
        });
//从数据库获取查询结果
ParseQuery=ParseQuery.getQuery(“访问”);
查询。whereStartsWith(“令牌ID”、“前缀”);
findInBackground(新的FindCallback(){
@凌驾
公共void done(列出对象,parsee异常){

对于(int i=0;i您要查找的在解析中称为
指针
。与其将
cityID
存储在
access
对象上,不如将指向
cities
对象的指针存储在查询中

下面是一个来自

ParseQuery query=ParseQuery.getQuery(“注释”);
//检索最新的
query.orderByDescending(“createdAt”);
//只取最后十个
查询设置限制(10);
//在每条评论中包含帖子数据
查询。包括(“后”);
findInBackground(新的FindCallback(){
公共作废完成(列表注释列表,Parsee异常){
//评论列表现在包含最后十条评论和“帖子”
//字段已填充。例如:
for(ParseObject注释:commentList){
//这不需要网络访问。
ParseObject post=comment.getParseObject(“post”);
Log.d(“职位”、“检索相关职位”);
}
}
});

通过在
access
对象上存储指针,只需将其包含在查询中,即可获得相应的
cities
对象。

谢谢,建议的方法帮助我解决了这个问题。
ParseQuery<ParseObject> query = ParseQuery.getQuery("Comment");

// Retrieve the most recent ones
query.orderByDescending("createdAt");

// Only retrieve the last ten
query.setLimit(10);

// Include the post data with each comment
query.include("post");

query.findInBackground(new FindCallback<ParseObject>() {
  public void done(List<ParseObject> commentList, ParseException e) {
    // commentList now contains the last ten comments, and the "post"
    // field has been populated. For example:
    for (ParseObject comment : commentList) {
      // This does not require a network access.
      ParseObject post = comment.getParseObject("post");
      Log.d("post", "retrieved a related post");
    }
  }
});