我有一个火线结构的东西沿着这条线 -
root {
groups {
gid: { //group ID
authid: ... //group creator's uid
members: { //uid of members
...
}
posts: {
... //posts ID
}
}
}
}
我想要这些功能 -
".write":"(!data.exists() && auth.uid != null) || (data.exists() && newData.exists()"
只有作者才能删除单个组。这意味着我需要 允许将null设置为作者的各个组节点。这是我被困的部分。因为,较浅的规则会覆盖更深层的规则。所以,如果我只是写
" groups":{ " $ gid":{ " .write":"!newData.exists()&& data.child(' authid')。val()=== auth.uid" } }
这将被忽略。
我不想要任何人,甚至是作者都要将null设置为组内的各个节点。这意味着作者可以删除整个组,但不能删除成员节点
答案 0 :(得分:1)
现在你要求写操作后没有数据。
你想要的是没有数据
".write": "
(data.exists() && !newData.exists() && data.child('authid').val() === auth.uid)
|| (data.exists() && newData.exists() && data.child('members').child(auth.uid).exists())
|| (!data.exists() && newData.child('authid').val() === auth.uid)
"
行: