我的firebase数据库有一个名为Messages的子项,它有子user_id,还有子标题和时间戳,如:
我的firebase数据库
我想为Messages添加addChildEventListener以确定Messages中是否有任何更改。使用此代码非常简单:
myRef.child("Messages").addChildEventListener(new ChildEventListener()...
firebase规则如何?如果我把它公之于众就行了。但如果我确实喜欢那个儿童听众不工作我应该加入什么样的规则
{
"rules": {
"Messages":{
"$uid":{
".read": "data.child('timestamp').val() > (now - 18000000)",
".write": "auth != null"
}
},
"$other":{
".read": true,
".write": "auth != null"
}
}
}
我想只阅读最近30分钟内的消息,因此我已添加“。read”:“data.child('timestamp')。val()>(现在 - 18000000 )”,。
我想我应该在“Messages”和“$ uid”之间添加一些东西来正确地添加儿童听众。 thnks!
答案 0 :(得分:1)
附加侦听器时会强制执行Firebase安全规则。如果您允许/Messages/$uid
上的读取,那么/Messages
上的听众将被拒绝,因为您没有该级别的读取权限。
这在Firebase文档中称为rules are not filters,表示您无法使用安全规则来过滤数据。它已经在Stack Overflow上有很多内容,所以我建议你查看一些previous questions。我能找到的最早的答案是this one。