我有一个简单的用户数据节点,如下所示:
"users" : {
"firebase_auth_uid" : {
"avatarUrl" : "https://graph.facebook.com/.....",
"name" : "Full Name",
"registrationTimestamp" : longTimestamp
}
}
以上部分的规则如下:
"users": {
"$uid": {
".read": "auth != null",
".write": "$uid == auth.uid",
"registrationTimestamp":{
".validate": "!data.exists()"
}
}
}
根据我对Firebase验证规则的理解,这应该允许仅在“registrationTimestamp”不包含数据时才更新时间戳。
但是对currentUser.child("registrationTimestamp").setValue(ServerValue.TIMESTAMP);
的所有调用都会覆盖“registrationTimestamp”的值。
我哪里错了?