2
新しいfirebaseにあり、hasChildren()のRuleDataSnapshotに関する質問をどのように把握し、データの検証方法を知りたいと思います。デシベルの余分な子を作成しないようにするFirebase
サンプル:
{
"visitors" : {
"-KP4BiB4c-7BwHwdsfuK" : {
"mail" : "[email protected]",
"name" : "aaa",
}
.....
}
ルール:
{
"rules": {
"visitors": {
".read": "auth != null",
".write": "auth.uid != null",
"$unique-id": {
".read": "auth != null ",
".write": "auth != null",
".validate": "newData.hasChildren(['name','mail'])",
}
}
}
}
私の知る限り、私はデータを作成したい場合は、データフィールドは、ルールの検証に合格するために同じ名前を持つ必要があります知っています。 例: 「名前」ごとに「名前」を変更し、子ノードを持つ新しいノードを作成しようとすると、ルールはわかっています。 手動で新しいフィールドを作成して追加するとどうなるでしょうか?
例えば:
//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);
結果は次のとおりです。
"visitors" : {
"-KP4BiB4c-7BwHwdsfuK" : {
"mail" : "[email protected]",
"name" : "juan",
"extra1":222,
"extra2":333
}
}
だから私の質問は、ノードあたりの余分なチャイルズを作成回避する方法ですか?私はルールがそれをしたと思います。
ありがとうございます。