Ich möchte nur den Benutzer in der Lage sein, die Gruppe zu laden, wenn sie die Gruppe in ihrer Liste haben, wie würde ich eine Regel dafür schreiben?Kann ich eine Regel in Firebase erstellen, die einen Wert in einem push() -Array abfragt?
Oder gibt es eine Möglichkeit, eine Regel zu schreiben, um nach einem Wert in einem Firebase Push-Array zu suchen?
Zum Beispiel würde Ich mag eine Regel schreiben, um vielleicht so aussehen. Diese Regel ist nicht gültig, sondern zielt darauf ab, meinen Standpunkt damit zu erklären.
"groups":{
"$group_id":{
".read":"root.child('users').child(auth.uid).child('groups').hasChildValue().val() == $group_id"
}
},
Ich möchte nur die Benutzer in der Lage sein, um die Gruppe zu laden, wenn sie die Gruppe in ihrer Liste haben, wie würde ich eine Regel für das schreiben?
Update, wie ich es behoben habe. - Umstrukturierung der Daten, um flach zu sein. Mit push() loswerden, um Werte hinzuzufügen. - Flache Daten machten es einfach, die Schlüssel zu referenzieren.
"groups":{
// root/users/auth.uid/groups/$group_id
"$group_id":{
// only read if the user has the group_id
".read":"root.child('users').child(auth.uid).child('groups').child($group_id).exists()",
// only write if logged in and it's new || if the user has group id
".write":"(auth != null && !data.exists() && newData.exists()) || root.child('users').child(auth.uid).child('groups').child($group_id).exists()"
}
},
".read": "root.child ('Benutzer'). Child (auth.uid) .child ('Gruppen'). HasChild ($ group_id)", - dies funktioniert, wenn die group_id die Push-Funktion auto_id ist. aber bringt mich nicht, was ich will. – Branflake2267
Vielleicht könnte die .forEach funktionieren. Ich bin nicht sicher, was der Rückgabewert von forEach ist, wenn Sie in der Funktion false zurückgeben. Andernfalls möchten Sie möglicherweise Ihr Modell ändern. Ich denke, dass Ihre Daten so aussehen: https://www.firebase.com/docs/web/guide/structuring-data.html#section-indices – meriouma
Es gibt kein .forEach für Regeln verfügbar, es sei denn, ich vermisse etwas. Ich versuche, eine weitere Beziehung hinzuzufügen, damit ich sie bidirektional machen kann, damit ich sie referenzieren kann, ohne das Push-Array bohren zu müssen. – Branflake2267