Android Firestore Query: получить количество документов в коллекции - PullRequest
0 голосов
/ 16 апреля 2020

В моем приложении пользователям могут понравиться определенные сообщения. Их лайки будут храниться таким образом.

Изображение базы данных:

enter image description here

В основном: в коллекции сообщений -> postID -> Коллекция лайков -> userID -> метка времени. То, что я хочу получить - это число userIds в коллекции Likes для всех сообщений. По сути, я хочу сначала отобразить количество постов с наибольшим количеством лайков в адаптере Recycler.

Я считаю, что я ищу запрос такого типа, который помог бы мне получить число currentUserIds, а затем отобразить они в порядке убывания в моем адаптере:

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

1 Ответ

0 голосов
/ 17 апреля 2020

Я хочу получить число userIds в коллекции Likes для всех сообщений.

В этом случае вам необходимо выполнить запрос группы сбора Firestore. :

Группа коллекций состоит из всех коллекций с одинаковым идентификатором. По умолчанию запросы извлекают результаты из одной коллекции в вашей базе данных. Используйте запрос к группе собраний для получения документов из группы собраний, а не из одной коллекции.

Поэтому в вашем случае следует использовать следующий запрос:

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

Для Фактически посчитайте количество документов, пожалуйста, проверьте мой ответ из следующего поста:

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