Android Firestore查询:获取集合中的文档数

时间:2020-04-16 15:37:21

标签: java android firebase google-cloud-firestore

在我的应用程序中,用户可以喜欢某些帖子。他们的喜欢将以这种方式存储。

数据库图片:

enter image description here

基本上:在集合Posts-> postID-> collection Likes-> userID-> timestamp中。我想要得到的是所有帖子在userIds集合中的Likes数。基本上,我想在我的Recycler Adapter中显示最喜欢的帖子数。

我相信我正在寻找一种类型的查询,该查询可以帮助我获取currentUserIds的数量,然后在适配器中以降序显示它们:

Query firstQuery = firebaseFirestore.collection("Likes").document(currentUserId)...

1 个答案:

答案 0 :(得分:0)

我想要得到的是所有帖子在Likes集合中的userIds数。

在这种情况下,您应该执行Firestore collection group query

一个集合组由具有相同ID的所有集合组成。默认情况下,查询从数据库中的单个集合检索结果。使用集合组查询从集合组而不是单个集合中检索文档。

因此,您应该使用以下查询:

db.collectionGroup("Likes").get().addOnCompleteListener(/* ... */);

要实际计算文档数,请从以下帖子中查看我的回答: