我想从user_lookup
中删除[steven:uid]的子节点这是代码:
self.ref.child("user_lookup").queryOrderedByValue().queryEqual(toValue: user?.uid).observe(.value, with: { snapshot in
if snapshot.exists() {
print("I got it")
// remove [steven, uid]
} else {
print("Not found")
}
我不知道如何移除孩子,但我尝试输入removeValue但我得到了Permission_denied
以下是规则:
`"user_lookup": {
".read": "auth !== null",
".write": "auth !== null && !data.exists()",
".indexOn": [".value"],
我认为它是因为“!data.exists()”但我不想复制数据,那么如何解决这个问题呢? 如何移除孩子,任何帮助将不胜感激。
答案 0 :(得分:1)
我认为这可能是你想要的:
".write": "
(auth.uid === newData.val() && !data.exists()) ||
(auth.uid === data.val() && !newData.exists()"
第一个表达式或者或者允许用户声明他们的名字,如果它还没有存在的话。第二个表达式允许删除他们的声明。