Ich habe vor kurzem angefangen mit Firebase zu arbeiten und in einer der Demo-Apps habe ich etwas Zunder implementiert. Grundsätzlich können Sie Benutzer streichen und eine nach swiping ich die Speicherung der Daten in folgendem Format/Pfad:Direktnachrichten Chat mit Firebase - Datenstruktur?
matches/randomeFirebaseID()/{
userid: true
otherUserid: true
}
Das ziemlich nett ist, sie zu fragen wieder, aber wie kann ich eine Sicherheitsregel zu machen, die nicht erlaubt solche Einträge duplizieren. Ist das mit Sicherheitsregeln überhaupt möglich? Oder sollte ich die Daten in einer anderen Form strukturieren? Es wäre möglich, sie einfach vorher abzufragen und zu prüfen, ob eine Übereinstimmung bereits existiert, aber das braucht etwas mehr Zeit, die ich nicht verschwenden möchte.
Danke für Ihre Hilfe!
Da Ihr Elternknoten zufällig generiert wird, wäre es niemals ein Duplikat. Beziehen Sie sich auf den Benutzer-ID-Knoten? Im Allgemeinen sind Firebase-Regeln nicht zum Filtern von Daten vorgesehen. Bitte lesen Sie [Sichern Ihrer Daten] (https://www.firebase.com/docs/security/guide/securing-data.html) und insbesondere den Abschnitt "Vorhandene Daten im Vergleich zu neuen Daten" und vor allem den Abschnitt "Regeln sind keine Filter" . Ihre beste Wette ist eine Abfrage, die sehr schnell ist und nicht wirklich einen Overhead zum Sprechen bringt. – Jay
Hey Jay, ja, ich will keine doppelten Übereinstimmungen für die gleichen 2 Jungs. Ich war besorgt, dass es ein wenig wäre und nicht "Best Practice", aber ich werde es versuchen! Vielen Dank! –
Es klingt wie Sie den Schlüssel basierend auf den zwei Uids generieren sollten. Siehe meine Antwort hier: http://stackoverflow.com/questions/33540479/best-way-to-manage-chat-channel-in-firebase/33547123#33547123 –