我如何确保电子邮件和已创建的字段始终存在,并且电子邮件始终具有有效的电子邮件值?如果我使用newData.hasChildren(['email','created']),如果我只是更新记录的电子邮件字段,这将在更新时失败。
"uPrivate": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid",
".validate": "root.child('u/'+$uid).exists()",
"email": {
".validate": "root.child('u/'+$uid).exists()",
},
"created": {
".validate": "root.child('u/'+$uid).exists()",
}
}
}
答案 0 :(得分:1)
newData
变量包含该位置的新数据,因为它将在写入后存在。来自createNode:
newData
变量包含写操作成功时将存在的新数据。 newData表示正在写入的新数据和现有数据的合并结果。
因此,对于任何不在更新中的数据,它将包含现有值。