Firestore如何按我的文档中引用的另一个文档中的字段排序?

时间:2018-07-10 14:06:06

标签: java android firebase google-cloud-firestore

在Android(Java)中,我正在使用Firebase Firestore,并试图构建一个简单的查询来从集合(用户)中获取数据,并通过另一个集合中的字段(帖子)对其进行排序。在(用户)集合中,我有一个字段包含(帖子)集合中给定文档的路径。

users{
  userID1{
    name:"name"
    lastPost:posts/postID1
   }
}

posts{
  postID1{
    text:"text"
    postedAt:"timeStamp here" <-(The field I want to orderBy)
  }
}

这是查询:

Query query = FirebaseFirestore.getInstance()
            .collection("users")
            .orderBy(/*lastPost/postedAt**/);

1 个答案:

答案 0 :(得分:1)

  

如何订购我的文档中引用的另一个文档中的文件?

即使您持有对该属性的引用,也不能基于另一个集合中存在的属性来排序集合中存在的文档。

因此,不幸的是,无法将查询扩展到多个子集合。查询必须包含在单个集合或子集合中。