【发布时间】:2019-08-21 05:46:03
【问题描述】:
我正在尝试使用规则,但它不起作用。
结构如下:
我有这个命令:DeleteItemFromListRef.child("List").child(obj.getsEventID()).child(ID).child("check").setValue(false);
但我只想在子项(键)存在的情况下将值设置为“false”,这样如果项目被删除,我就不会简单地拥有它:
这是我的规则:
"List": {
"$listID" : {
"$key": {
"check" : {
".write":"data.child('List').child($listID).child($key).child('key').exists()"
}
}
}
}
但是,如果子键为空,它仍然会像这样上传数据:
如果有人能帮忙,那就太好了
编辑 2:这里有更简单的规则
"rules": {
"List": {
"$listID" : {
"$key": {
"check" : {
".read":"auth.uid != null",
".write":"auth.uid != null",
".validate":"data.parent().child('key').exists()"
}
}}}}}
+评论:
因此,如果我添加新地图,我总是使用地图更新项目,但如果我只更改子项 "check" 我使用 "setValue" 方法并且希望仅当项目已经存在时才完成 setValue (== child key already exist)
【问题讨论】:
标签: android firebase firebase-realtime-database firebase-security