在我的应用程序中,用户可以喜欢某些帖子。他们的喜欢将以这种方式存储。
数据库图片:
基本上:在集合Posts-> postID-> collection Likes-> userID-> timestamp中。我想要得到的是所有帖子在userIds
集合中的Likes
数。基本上,我想在我的Recycler Adapter中显示最喜欢的帖子数。
我相信我正在寻找一种类型的查询,该查询可以帮助我获取currentUserIds
的数量,然后在适配器中以降序显示它们:
Query firstQuery = firebaseFirestore.collection("Likes").document(currentUserId)...
答案 0 :(得分:0)
我想要得到的是所有帖子在Likes集合中的
userIds
数。
在这种情况下,您应该执行Firestore collection group query:
一个集合组由具有相同ID的所有集合组成。默认情况下,查询从数据库中的单个集合检索结果。使用集合组查询从集合组而不是单个集合中检索文档。
因此,您应该使用以下查询:
db.collectionGroup("Likes").get().addOnCompleteListener(/* ... */);
要实际计算文档数,请从以下帖子中查看我的回答: