Firestore Query в Android ведет себя неожиданно - PullRequest
1 голос
/ 05 октября 2019

Снимок базы данных Image

Вот фрагмент кода, который я использую, чтобы получить вещи из коллекции в свой собственный объект класса. Сейчас я попробовал несколько вещей [используя DocumentReference, просматривая другой код, доступный онлайн и т. Д.], Но проблема все еще сохраняется.

Я не могу получить данные, которые, как мне известно, хранятся в Firestore. Когда я выполняю код, я получаю, что QueryDocSnap is empty.

CollectionReference reference = firestore.collection("data");
        reference.get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
            @Override
            public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
                if (queryDocumentSnapshots.isEmpty()) {
                    Log.i(TAG, "QueryDocSnap is empty");
                } else {
                    List<ReportStore> types = queryDocumentSnapshots.toObjects(ReportStore.class);

                    reportStores.addAll(types);
                    Global.setStoreData(reportStores);
                }
            }
        }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                Log.e(TAG, "Error Getting Data", e);
            }
        });

/app/store/data/4EOi3Eh1AkZf1rK5zwKt - это иерархия моей базы данных с Firestore, сообщающей мне, что 'app' и 'data' равны Collection, адва других Document.

Может кто-нибудь, пожалуйста, убери это мое замешательство. Спасибо.

1 Ответ

1 голос
/ 05 октября 2019

Этот код предоставит вам правильный список документов от data.

CollectionReference reference = firestore.collection("app").document("store").collection("data");
reference.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());
        }
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...