webentwicklung-frage-antwort-db.com.de

Firebase Cloud Firestore: Ungültiger Verweis auf die Sammlung. Sammlungsreferenzen müssen eine ungerade Anzahl von Segmenten haben

Ich habe den folgenden Code und bekomme eine Fehlermeldung: 

Invalid collection reference. Collection references must have an odd number of segments

Und der Code:

private void setAdapter() {
        FirebaseFirestore db = FirebaseFirestore.getInstance();
        db.collection("app/users/" + uid + "/notifications").get().addOnCompleteListener(task -> {
            if (task.isSuccessful()) {
                for (DocumentSnapshot document : task.getResult()) {
                    Log.d("FragmentNotifications", document.getId() + " => " + document.getData());
                }
            } else {
                Log.w("FragmentNotifications", "Error getting notifications.", task.getException());
            }
        });
    }
18
Relm

Hierarchische Datenstrukturen und Untersammlungen werden in der Dokumentation beschrieben. Eine Sammlung enthält Dokumente und ein Dokument kann eine Unterauflistung enthalten. Die Struktur ist immer ein wechselndes Muster von Sammlungen und Dokumenten. Die Dokumentation enthält diese Beschreibung eines Beispiels:

Beachten Sie das abwechselnde Muster von Sammlungen und Dokumenten. Ihre Sammlungen und Dokumente müssen immer diesem Muster folgen. Du kannst nicht eine Sammlung in einer Sammlung oder ein Dokument in einem Dokument referenzieren.

Daher hat ein gültiger Pfad zu einer Sammlung immer eine ungerade Anzahl von Segmenten. ein gültiger Pfad zu einem Dokument, eine gerade Zahl. Da Ihr Code versucht, eine Auflistung abzufragen, ist die Pfadlänge von vier ungültig.

20
Bob Snyder

Dann musst du das ändern:

db.collection("app/users/" + uid + "/notifications")...

dafür:

db.collection("app").document("users").collection(uid).document("notifications")

Bitte ;)

22
Diego Venâncio

Die Sammlungsreferenz fehlt.

0
Vikash Sharma