如何更改 Firebase 父节点的名称以启用规则

How to change the name of a Firebase parent node to enable rules with them

我正在创建一个 Firebase 数据库,我想向我的数据添加规则,但我无法在 Firebase 的 'rules' 部分找到访问我的数据的正确方法。当我设置我的默认数据库时,父节点默认为随机字母和数字,如下所示

如何更改这些节点的名称以允许我在 Firebase 的 'rules' 部分访问它们,或者如何使用我当前的配置访问它们?

我试过这样访问它们:

我还尝试在 "rules{}" 中嵌套另一个引用,例如 "message{}" 和“#messageId{}”,但其中 none 已经能够读取数据。

感谢您的帮助。

要将规则应用于特定节点下的每个子节点,您可以使用所谓的 $ 变量

所以在你的情况下:

{
    "rules": {
        "$messageid": {
            ".read": "data.child('timestamp').val() > (now - 300000)",
            ".write": true
        }
    }
}

因此上面 $messageid 下的规则适用于每条消息。

有关详细信息,请参阅 Firebase documentation on using $ variables