Firebase规则:如何在节点的所有子节点中搜索值?

通过治愈

我正在尝试通过基于Twitter登录生成的uid在Firebase中手动输入管理员来创建应用程序管理员。我想知道如何在节点下的所有子代中搜索特定的uid以指定r / w访问权限。

我有以下

{
  "GRP1" : {
    "ORG1" : {
      "CONF1" : {
        "TEAM1" : {
          "ADMINS" : {
            "Name1" : {
              "uid" : "abcd1239"
            },
            "Name2" : {
              "uid" : "abcf1234"
            }
          },
          "FEED" : {
            "Store1" : {
              "info1" : "some text"
            },
            "Store2" : {
              "info2" : "some other text"
            }
          }
        }
      }
    }
  }
}

我想基于ADMINS中是否存在uid来提供对FEED的读/写访问。该规则有效:

".read" : "root.child('GRP1').child('ORG1').child('CONF1').child('TEAM1').child('ADMINS').child('Name1').child('uid').val() === auth.uid"

但是,如果我拥有可变数量的ADMINS,该如何搜索所有的'uid'?我尝试输入子名称作为uid,然后搜索以查看是否存在,但读取无效:

".read" : "root.child('GRP1').child('ORG1').child('CONF1').child('TEAM1').child('ADMINS').child(auth.uid).exists()"
弗兰克·范普菲伦

您无法在安全规则中跨节点搜索,因为那样就无法扩展。这意味着,如果要检查JSON中某个位置是否存在UID,则必须将该UID作为节点的键。

因此,您的JSON将是:

{
  "GRP1" : {
    "ORG1" : {
      "CONF1" : {
        "TEAM1" : {
          "ADMINUIDS" : {
            "abcd1239": "Name1",
            "abcf1234": "Name2"
          }

现在,您可以使用以下命令检查是否存在UID:

".read" : "root.child('GRP1/ORG1/CONF1/TEAM1/ADMINUIDS').child(auth.uid).exists()"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

XDocument Descendants()在父节点中显示所有子值

来自分类Dev

如何在 Swift 中观察多个节点中的 Firebase 子值变化?

来自分类Dev

VB.Net-如何在所有与(或不与)搜索字符串匹配的展开和折叠节点中的TreeView节点中动态搜索字符串?

来自分类Dev

如何获取特定节点中的所有属性值

来自分类Dev

如何在JavaFX中获得父节点中的所有节点?

来自分类Dev

如何在sql / oracle中选择节点的所有子节点和父节点

来自分类Dev

检查 Firebase 数据库中存在的所有节点中的特定值

来自分类Dev

从Groovy xml节点中删除所有子级

来自分类Dev

从按键分组的连接节点中获取所有值

来自分类Dev

如何在android中从Firebase获取子节点的子节点?

来自分类Dev

如何检查推送节点中的值是否存在 android firebase

来自分类Dev

MarkLogic:从局部变量搜索父节点中的子节点

来自分类Dev

如何从节点中的所有模型访问mongodb

来自分类Dev

父节点值为其所有子节点之和

来自分类Dev

获取Groovy中XML节点的所有子节点的值

来自分类Dev

合并一个节点的子节点的所有值

来自分类Dev

如何在Javascript中映射所有叶节点的值?

来自分类Dev

如何在树视图中创建的新子节点中编辑标签,所有这些均以编程方式c#.net

来自分类Dev

如何在Powershell中获得子XML节点的所有父节点

来自分类Dev

如何在xmlstring中删除所有子节点的父节点

来自分类Dev

如何在NotePad ++中删除折叠的XML节点(和所有子节点)

来自分类Dev

如何在 Firebase for Android 中获取根节点的子节点

来自分类Dev

PHP如何找到给定节点的所有子节点

来自分类Dev

Firebase 按嵌套节点中的值查询

来自分类Dev

如何从DOMDocument获取所有子节点?

来自分类Dev

如何选择特定的 XML 节点并获取其子节点中的值

来自分类Dev

如何使用Firebase规则授予对所有节点的读/写访问权限?

来自分类Dev

如何在不干扰其他子节点的情况下替换HTML节点中的文本?

来自分类Dev

如何在不打扰其他子节点的情况下替换HTML节点中的文本?

Related 相关文章

  1. 1

    XDocument Descendants()在父节点中显示所有子值

  2. 2

    如何在 Swift 中观察多个节点中的 Firebase 子值变化?

  3. 3

    VB.Net-如何在所有与(或不与)搜索字符串匹配的展开和折叠节点中的TreeView节点中动态搜索字符串?

  4. 4

    如何获取特定节点中的所有属性值

  5. 5

    如何在JavaFX中获得父节点中的所有节点?

  6. 6

    如何在sql / oracle中选择节点的所有子节点和父节点

  7. 7

    检查 Firebase 数据库中存在的所有节点中的特定值

  8. 8

    从Groovy xml节点中删除所有子级

  9. 9

    从按键分组的连接节点中获取所有值

  10. 10

    如何在android中从Firebase获取子节点的子节点?

  11. 11

    如何检查推送节点中的值是否存在 android firebase

  12. 12

    MarkLogic:从局部变量搜索父节点中的子节点

  13. 13

    如何从节点中的所有模型访问mongodb

  14. 14

    父节点值为其所有子节点之和

  15. 15

    获取Groovy中XML节点的所有子节点的值

  16. 16

    合并一个节点的子节点的所有值

  17. 17

    如何在Javascript中映射所有叶节点的值?

  18. 18

    如何在树视图中创建的新子节点中编辑标签,所有这些均以编程方式c#.net

  19. 19

    如何在Powershell中获得子XML节点的所有父节点

  20. 20

    如何在xmlstring中删除所有子节点的父节点

  21. 21

    如何在NotePad ++中删除折叠的XML节点(和所有子节点)

  22. 22

    如何在 Firebase for Android 中获取根节点的子节点

  23. 23

    PHP如何找到给定节点的所有子节点

  24. 24

    Firebase 按嵌套节点中的值查询

  25. 25

    如何从DOMDocument获取所有子节点?

  26. 26

    如何选择特定的 XML 节点并获取其子节点中的值

  27. 27

    如何使用Firebase规则授予对所有节点的读/写访问权限?

  28. 28

    如何在不干扰其他子节点的情况下替换HTML节点中的文本?

  29. 29

    如何在不打扰其他子节点的情况下替换HTML节点中的文本?

热门标签

归档