Firebase规则,在初始写入后拒绝编辑,写入取决于值
我的实时数据库中有一个“对象”Firebase规则,在初始写入后拒绝编辑,写入取决于值,firebase,firebase-realtime-database,firebase-security,Firebase,Firebase Realtime Database,Firebase Security,我的实时数据库中有一个“对象” -MHHP5ZSmLKG_xeA9SLJ 0NThxhcHIPgOJGZC1MyE3Fg0NUc2 XCEI5dQxP8YxaChrF5O061eyFv32 creatorID: "7Pao7pDRaFUVWM9c234Qq44UwoE3" message: "I wish I knew, why the world is is getting craz..." messageID:
-MHHP5ZSmLKG_xeA9SLJ
0NThxhcHIPgOJGZC1MyE3Fg0NUc2
XCEI5dQxP8YxaChrF5O061eyFv32
creatorID: "7Pao7pDRaFUVWM9c234Qq44UwoE3"
message: "I wish I knew, why the world is is getting craz..."
messageID: "-MHHP5ZSmLKG_xeA9SLJ"
timestamp: 1600184270739
timestampReverse: 998399815846742
两个问题
有没有一种方法可以让我在初始初始化后无法写入creatorID:
"creatorID" : {
.write : "false"
}
这是可行的,还是会阻止初始写入?本质上,我希望它不能被编辑
是否有一种编写规则的方法,只有当auth.uid和creatorID.value相等时,才能编辑消息:
"message" : {
.write : "auth.uid == creatorID.value"
}
致以最良好的祝愿,
Sam如果希望
创建者ID
字段仅在创建时可写,可以执行以下操作:
"creatorID" : {
.write : "!data.exists()"
}
如果希望消息
字段只能由其原始作者编写,则应为:
"message" : {
.write : "auth.uid == data.child('creatorID').val()"
}
另一个问题。如果我有一个节的一般规则,那么在该节中添加一个特定的规则。最具体的规则是否适用于总统?比如:{“规则”:{“所有问题”:{.indexOn”:“timestampReverse”,“.read”:“auth!=null”,“.write”:“auth!=null”,“creatorID”:{.write:“!data.exists()”},如果您还有其他问题,请发布其他问题。如果我的答案对您最初发布的问题有用,请单击向上投票按钮(▲) 如果它回答了您的问题,请单击复选标记(✓) 接受它。这样别人就会知道你已经得到了(足够的)帮助。也请参见