Как получить данные из документа Firestore - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть коллекция под названием «Скейт». Можно ли получить все данные из ее документа? например как на фото данные двух парков

fireStore.collection("Parks").document("PracasGravatai").collection("Skate").document().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
                @Override
                public void onSuccess(DocumentSnapshot documentSnapshot) {
                    if(documentSnapshot.exists()) {
                        String endereco = documentSnapshot.getString("Endereco");
                        String nome = documentSnapshot.getString("Nome");
                        Log.i("LOG: ",endereco);
                        Log.i("LOG",nome);

                        textView.setText("Nome: "+nome+ "Endereço: "+endereco);

1 Ответ

1 голос
/ 07 ноября 2019

Коллекция содержит документы. Прямо сейчас вы звоните document(), что означает, что вы создаете ссылку на новый, пустой документ. Таким образом, вызов get() после этого возвращает моментальный снимок в несуществующий документ.

Чтобы загрузить определенный документ, вам необходимо знать его идентификатор. Как только вы это сделаете, вы можете загрузить его, позвонив get на DocumentReference:

fireStore.collection("Parks").document("PracasGravatai")
         .collection("Skate").document("theIdOfTheDocument").get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {

Если вы хотите загрузить все документы в коллекции Skate для PracasGravatai, вы можете сделать этопозвонив по номеру get:

fireStore.collection("Parks").document("PracasGravatai")
         .collection("Skate").get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
    @Override
    public void onComplete(@NonNull Task<QuerySnapshot> task) {
        if (task.isSuccessful()) {
            for (QueryDocumentSnapshot document : task.getResult()) {
                Log.d(TAG, document.getId() + " => " + document.getData());
            }
        } else {
            Log.d(TAG, "Error getting documents: ", task.getException());
        }
    }
});

Оба эти случая описаны в документации Firebase о получении данных из Firestore .

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