1

In Bezug auf die tatsächlichen Einschränkungen bei der Abfrage von Daten basierend auf Untersammlungen Werte, was ist die vorgeschlagene Möglichkeit, Multi-Tenancy in Firestore zu verwalten?Multitenancy in Firestore

Ich möchte in der Lage sein, den Zugriff auf Daten zu Entitäten/Unternehmen, zu denen der Benutzer gehört, abzurufen und zu beschränken.

Beispiel Datenstruktur:

/companies/{companyId}/users/ 
/companies/{companyId}/users/{user}/roles 
/companies/{companyId}/docs/ 

Kann /companies/{companyId}/users/ eine Sammlung sein?

Wie kann ich nur Unternehmen abrufen, in denen Benutzer eine Rolle in /companies/{companyId}/users besitzen?

+0

Es wird normalerweise empfohlen, separate Projekte für verschiedene Umgebungen zu verwenden, anstatt sie alle in einem Projekt zusammenzufassen. Sie werden eine bessere Isolierung und Zugriffskontrolle für jedes Firebase-Produkt haben, wenn Sie es so machen. –

Antwort

1

Firestor Pfad stell Sammlung zu dokumentieren und wieder zurück:

/collection/document/subcollection/subdocument 

Also ja, in diesem Fall würden Sie Sammlungen von companies, haben users und docs. Sammlungen sind auch implizit in dem sie automatisch erstellt werden, wenn Dokumente in ihnen vorhanden sind, und entfernt, wenn keine Dokumente in ihnen vorhanden sind.

Gegenwärtig werden Subcollection-Abfragen (z. B. "alle Benutzer in einer bestimmten Firma") nicht unterstützt. Daher müssen Sie Ihre Abfrage anders herum strukturieren: eine Benutzersammlung mit einer Firma als Eigenschaft Durchführen einer Abfrage, um alle Benutzer in dieser Firma zu finden.

+0

Vielen Dank @ mike-mcdonald – Remi

+0

@ mike-mcdonald Können Sie mich darüber sprechen oder darauf hinweisen, wie sich dies auf die Benutzerauthentifizierung bezieht? Ich möchte auch den Zugriff eines Benutzers beschränken. Ich denke, wir müssen in der Lage sein, einem Benutzer eine Firmen-ID zuzuweisen und dann Lese-/Schreibvorgänge auf Unterdokumente mit der ihm zugewiesenen Firmen-ID zu beschränken. Ansonsten hätte in diesem Beispiel kein Benutzer Zugriff auf alle anderen Benutzerdaten? Vielen Dank! – Shaun