Firebase实时数据库,安全规则-检查其他节点



我有一个连接到Firebase的应用程序。在这个应用程序中,我有几个子节点,包括"用户";。用户的结构如下:

Users: {
-uid: {
-coins
-email
-name
...
}
}

必要时,我需要当用户执行某个操作时,获取硬币数量,写入另一个节点,然后由主节点重置。但是,一些具有root权限的用户可以更改此值(当从一个节点切换到另一个节点时(。如何使用安全规则检查辅助节点的newData是否与Users中的硬币值相对应?

如果没有看到您正在编写的数据,很难确定,但我认为您正在寻找这样的东西:

".write": "newData.child('coins').val() == 
root.child('Users').child($uidOfTheUser).child('coins').val()"

因此,这将检查存在该规则的路径下coins中的新数据是否与$uidOfTheUser用户的当前coins值相同。$uidOfTheUser要么来自该规则存在的路径,要么来自正在写入的数据。再次强调:如果您向我们展示更多正在编写的实际代码和JSON,我们可能会提供更好的帮助。

最新更新