Ich bin neu in Firebase und ich möchte wissen, wie man eine Frage in Bezug auf hasChildren() RuleDataSnapshot und wie validates die Daten erstellt werden.Vermeiden Sie zusätzliche Kinder Firebase
Probe von db:
{
"visitors" : {
"-KP4BiB4c-7BwHwdsfuK" : {
"mail" : "[email protected]",
"name" : "aaa",
}
.....
}
Regeln:
{
"rules": {
"visitors": {
".read": "auth != null",
".write": "auth.uid != null",
"$unique-id": {
".read": "auth != null ",
".write": "auth != null",
".validate": "newData.hasChildren(['name','mail'])",
}
}
}
}
Was weiß ich, wenn ich Daten erstellen möchten, die Datenfelder die gleichen Namen haben muss die Regel Validierung passieren. Zum Beispiel: Wenn ich "Name" pro "Namen" ändere und ich versuche, einen neuen Knoten mit ihren Kindern zu erstellen, funktioniert die Regel soweit ich das verstehen konnte. Ich frage mich was passiert, wenn ich manuell ein neues Feld hinzufüge um es zu erstellen?
Zum Beispiel:
//Add extra fields which are not actually present
var data = {name : "xxx",mail:"[email protected]",extra1:222,extra:333};
firebase.database().ref('visitors/').push(data);
Das Ergebnis ist:
"visitors" : {
"-KP4BiB4c-7BwHwdsfuK" : {
"mail" : "[email protected]",
"name" : "juan",
"extra1":222,
"extra2":333
}
}
Also meine Frage ist, wie pro Knoten zusätzlichen Childs zu vermeiden erstellen? Ich nahm an, die Regel hat es getan.
Vielen Dank im Voraus.