是否可以根据用户请求的特定数据段为实时数据库属性设置数据访问规则?
例如,我是一个经过身份验证的用户(使用Firebase身份验证(,我正在从数据库中查询某个属性,如下所示:
firebase.ref('myLists').orderByChild('listId').equalTo('someString').on('value', (snapshot) => {
// ...
})
我可以用什么方法在数据库规则中使用'someString'
值?
对于.write
,我们可以访问data
和newData
,但我认为.read
没有类似的东西吗?
您可以通过检查来允许此查询,并且只能允许此查询
".read": "query.orderByValue === 'listId' && query.equalTo === 'someString'"
当然,这仍然只返回具有listId
属性和someString
值的节点。
另请参阅有关安全查询数据的Firebase文档。