Firestore根据喜欢

时间:2018-06-06 12:54:49

标签: java android firebase listview google-cloud-firestore

是否可以根据喜欢订阅我的ListView个帖子(最喜欢的帖子必须在上面显示)?

How my Firebase database looks like

我已经知道如何根据时间戳订购它。但正如你所看到的那样,喜欢是帖子中的一个集合。

时间戳代码:

Query firstQuery = firebaseFirestore.collection("Posts").orderBy("timestamp", Query.Direction.DESCENDING).limit(3);

1 个答案:

答案 0 :(得分:1)

如果您已经知道如何根据时间戳订购,那么您应该以相同的方式按喜欢订购。因此,要解决此问题,您需要在每个名为likes的帖子下添加一个新属性,并使用以下代码行进行查询:

Query firstQuery = firebaseFirestore.collection("Posts").orderBy("likes", Query.Direction.DESCENDING).limit(3);

要更新likes媒体资源,我建议您使用Firestore Transactions

您可以在集合中count the number of documents,但在您的情况下,最好的选择是添加新属性,如上所述。