拥有此数据结构:
users:{
AYhiJQchwKSwG5p0epd1GrZAQMg2: {
savedPhotos:{
21142:true
123:true
}
.
.
}
photos:{
0:{
id:9213
install_count:4
}
.
.
}
我想限制用户不止一次保存照片。 像这样的东西: ...
"install_count":{
".write":"root.child('users/'+auth.uid).exists()" ,
".validate":"root.child('users/savedPhotos'+$photo.id).exists()"
}
...
答案 0 :(得分:1)
很抱歉迟到的回复...... 它应该是这样的:
"photos": {
".write": {
".validate":"root.child('users/savedPhotos/'+newData.child('id')).exists()"
}
}
如果我可以建议...... 你应该避免: - 使用数字作为密钥(您可能无法保证其唯一性), - 直接保存数组(请检查此旧链接,但仍然有效AFAIK https://firebase.googleblog.com/2014/04/best-practices-arrays-in-firebase.html)。
- 编辑 -
如果您只想验证install_count的写入:
"photos": {
"$index": {
"install_count": {
".validate":"root.child('users/savedPhotos/'+newData.parent().child('id')).exists()"
}
}
}
价: firebase.google.com/docs/reference/security/database/#newdata firebase.google.com/docs/reference/security/database/#parent