Also habe ich ein wenig nach der Implementierung gesucht und finde keine Best Practice für die Strukturierung meiner Datenbank.Korrekter Firebase Firestore "Gefällt mir" -Datenbankstruktur in Swift
Ich erstelle eine iOS App mit Firebase's neuer Datenbank Firestore.
Im Wesentlichen habe ich zwei Haupt "Sammlungen".
'users' 'Standorte'
Es gibt 100 Standorte. Benutzer sind unendlich. Benutzer können Standorte "mögen". Benutzer können anderen Benutzern folgen.
Wo ich auf ein Problem stoße, fragt nach den "gemeinen" Standorten der aktuellen Benutzer und nachverfolgten Benutzern.
Sollten diese Objekte im Benutzer sein? zum Beispiel ...
/users
/userId
name:"Phil"
likedLocations
location1:true
location5:true
followedUsers
userId3:true
userId6:true
Oder sollte diese in der die Standorte der Sammlung sein ...
/locations
/locationId
name:"New York"
userLiked
"userId":true
Zur leichteren Bearbeitung kann ich manuell in die Datenbank hineingehen und einen Ort bearbeiten. Mit Option A - das ist kein Problem. Nutzer haben die Möglichkeit, 100 Artikel in ihren "likedLocations" zu haben. Mit Option B könnte ein Standort unendlich viele Schlüsselwertpaare (so viele Benutzer wie in der App) haben.
TLDR - was ist die am leichtesten abgefragte und kostengünstige Möglichkeit, einen Benutzer nach/Liking Typ Datenbank einzurichten. – pmanning
gehen Sie mit dem ersten. Sie können im zweiten Beispiel nur 20000 Benutzer für New York haben. Es wäre unwahrscheinlich, dass Phil 20000 Plätze mochte. – jimijon