Firestore заказать коллекцию на основе лайков - PullRequest
0 голосов
/ 06 июня 2018

Можно ли заказать мои ListView сообщений на основе лайков (наиболее понравившийся пост должен отображаться выше)?

How my Firebase database looks like

Я уже знаю, как я могу заказать его на основе отметки времени.Но, как вы можете видеть, коллекция лайков в сообщениях.

Код отметки времени:

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

1 Ответ

0 голосов
/ 06 июня 2018

Если вы уже знаете, как сделать заказ на основе отметки времени, то вы должны сделать то же самое, чтобы сделать заказ по лайкам.Поэтому, чтобы решить эту проблему, вам нужно добавить новое свойство под каждым сообщением с именем likes и использовать следующую строку кода для запроса:

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

Чтобы обновить свойство likes, я рекомендую вамиспользуя транзакции Firestore .

Вы можете подсчитать количество документов в коллекции, но в вашем случае лучше всего добавить новое свойство, как описано выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...