现在,我正在尝试通过“ phoneNumber”进行搜索来找到特定的用户ID,但他的phoneNumber
在特定节点中,因此很难到达或不知道如何找到它。我想获取此Info节点的快照。
数据库结构
我试图通过这样的查询进行搜索:
Query q=FirebaseDatabase.getInstance().getReference("Users")
.orderByChild("phoneNumber").equalTo("8@gmail.com");
```
and also tried this one
```
Query q=FirebaseDatabase.getInstance().getReference("Info")
.orderByChild("phoneNumber").equalTo("8@gmail.com");
但也没有用:(
答案 0 :(得分:0)
这些查询都不起作用,因为在您的第一个查询中,您缺少Info
子级,在第二个查询中,您缺少了Users
子级。要解决此问题,请使用以下查询:
Query q = FirebaseDatabase.getInstance().getReference()
.child("Users")
.orderByChild("Info/phoneNumber")
.equalTo("8@gmail.com");
答案 1 :(得分:0)
您需要做的第一件事是必须在firbase控制台规则中建立索引 像这样
{
/* Visit https://firebase.google.com/docs/database/security to learn more about security rules. */
"rules": {
".read" : true,
".write" : false,
"admin": {
".indexOn": "phone"
}
}
}
然后在您试图通过电话号码获取数据的文件中写入
Query q=FirebaseDatabase.getInstance().getReference("Users")
.orderByChild("phoneNumber").equalTo("phoneValue")->getValue();