如何根据firebase中的Index数组进行查询

时间:2017-07-20 06:59:14

标签: firebase firebase-realtime-database

在我的情况下,我想根据" role" 应用过滤器。我只想要有角色名称的用户是" ashish"。我试着在数据库中设置.indexOn规则,但我无法得到结果。我的数据库结构如下 enter image description here

为单个用户导出json,如下所示:

    {
  "email" : "ashish.com",
  "firebaseToken" : "fZb3Oh7SAuc:",
  "role" : [ "ashish", "parmar" ],
  "uid" : "3S8ZPyDxsAgEiFailICZMA9m5WG3"
}

1 个答案:

答案 0 :(得分:0)

首先,我不建议您在索引上使用过滤器,因为您不知道该数组的哪个索引具有该角色的值。我建议改用下面的数据结构。

{
  "users": {
    "uid001": {
      "email": "example01@gmail.com",
      "role": {
        "ashish": {
          "userRole": "ashish"
        },
        "parmar": {
          "userRole": "parmar"
        }
      }
    }
  },
  "userRole": {
    "ashish": {
      "uid001": {
        "userID": "uid001"
        }
      },
      "uid002": {
        "userID": "uid002"
        }
      },
    }
  }
}

通过使用userRole,您可以查询哪个uid具有特定角色。