2017-12-21 4 views
0

Ich plane die Struktur meiner Datenbank für ein Projekt mit Cloud Firestore, und ich versuche derzeit herauszufinden, die beste Methode zum Speichern von Daten und die Zuordnung zu Benutzern. Die Details sind wie folgt:Ist es möglich, mehrere Dokumenten-Untersammlungen in Cloud Firestore abzufragen?

Ich habe eine Sammlung von Benutzerdokumenten im Stammverzeichnis meiner DB, und ich möchte, dass Benutzer in der Lage sein, Beiträge zu erstellen, die beide auf eine Benutzerprofilseite zugreifen, die Beiträge angezeigt wird Benutzer und insgesamt durch Betrachten einer Seite, auf der Beiträge von allen Benutzern angezeigt werden. Die Speicherung der Posts eines Benutzers in einer Untersammlung des Benutzerdokuments würde es sehr einfach machen, die Posts eines Benutzers für ihr Profil abzurufen, aber ist es möglich, eine elegante Abfrage zu schreiben, die die Post-Untersammlungen jedes Benutzers in einen zusammenfasst Ergebnismenge?

Oder wäre ein besserer Ansatz, eine andere Sammlung in der Wurzel von meinen angerufenen Posts zu haben, und ein Feld für jeden Beitrag, der die Benutzer-UID oder eine denormalisierte Kopie des Benutzerdokuments enthält?

Antwort

1

Eine Abfrage wird für eine einzelne Dokumentensammlung ausgeführt. Es gibt (derzeit) keine Möglichkeit, Abfragen über mehrere (Teil-) Sammlungen hinweg durchzuführen.

Das bedeutet, dass Sie die Benutzerdokumente wahrscheinlich in einer documents Top-Level-Sammlung mit einer owner-Eigenschaft für ihre UIDs aufbewahren möchten. Dann können Sie den Beitrag eines Benutzers mit einem einfachen documentsRef.where("owner", "==", uid) auswählen.

Verwandte Themen