Firestore получает самые любимые посты - PullRequest
0 голосов
/ 06 июля 2018

Я делаю простое приложение, в котором я хочу представить наиболее понравившиеся сообщения. Я использую Cloud Firestore. У меня вопрос, как должен выглядеть запрос в этом случае? (Я использую Java)

Вот дерево Firestore:

-ROOT
--Posts
---Post
----Likes

Коллекция лайков - это набор идентификаторов пользователей.

1 Ответ

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

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

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
DocumentReference ref = rootRef.collection("Posts").document("Post");
ref.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
    @Override
    public void onComplete(@NonNull Task<DocumentSnapshot> task) {
        if (task.isSuccessful()) {
            DocumentSnapshot document = task.getResult();
            if (document.exists()) {
                long numberOfLikes = document.getLong("Likes");
                Log.d(TAG, String.valueOf(numberOfLikes));
            } else {
                Log.d(TAG, "No such document");
            }
        } else {
            Log.d(TAG, "get failed with ", task.getException());
        }
    }
});

Результатом в вашем logcat будет количество лайков.

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