gpt4 book ai didi

angularjs - 需要检查数组中的值的 Firebase 规则(安全规则中的 contains())

转载 作者:行者123 更新时间:2023-12-02 10:20:21 26 4
gpt4 key购买 nike

如何检查 Firebase 规则内数组中的值。我正在尝试做这样的事情:

  root.child('connections/'+auth.uid).child('friends').child(someFriendId).exists()

因此在当前用户的connections节点下,如果friends数组中存在someFriendId,则允许访问。 'someFriendId' 不是 friend 数组的键,它是使用 firebase push() 方法自动生成的 ID。

最佳答案

一般来说,avoid arrays in distributed data ,并阅读 Arrays in Firebase在结构化数据指南中。

您无法在 Firebase 安全规则中执行“包含”。相反,您需要将用户存储为 key ,类似于 we demonstrate this use case in the security docs .

因此,根据您的示例,唯一的更改是将数组索引替换为用户 ID,并将值更改为 bool 值(或任何其他有用的值)。那么您的安全规则可以构造为:

root.child('connections/'+auth.uid+'/friends/'+someFriendId).exists();

关于angularjs - 需要检查数组中的值的 Firebase 规则(安全规则中的 contains()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32108880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com