我正在尝试获取发送者的子值,如果它等于当前登录的用户。但是我不能得到同样的结果。
数据库的JSON如下:-
{
"requests" : {
"YJ5qTg2uuqQeicsWCTCNQMv4OwL2" : {
"-Lecn9gN5puugx5z-PKX" : {
"sender" : "0XWmi1Izr6XHYvqxamfNHDONSVA2",
"status" : "Pending"
}
}
}
}这就是我尝试过的,但我总是得到null。
this.firebase.database().ref('/requests').orderByChild('sender').equalTo(firebase.auth().currentUser.uid).on('value',(snapshot) =>
{
console.log(snapshot.val());
})但是每次我得到的结果都是null。
我确实明白我应该提供孩子的地址来联系孙子。
this.firebase.database().ref('/requests').orderByChild('-Lecn9gN5puugx5z-PKX/status').equalTo('Pending').on('value',(snapshot) =>
{
console.log(snapshot.val());
})如果我显式地提供了子地址,那么我将获得所需的值。
发布于 2019-05-12 07:24:32
当您对Firebase数据库执行查询时,可能会有多个结果。因此,快照包含这些结果的列表。即使只有一个结果,快照也会包含一个结果列表。
您的回调需要通过使用forEach循环结果的子节点来处理该列表。所以就像这样:
this.firebase.database().ref('/requests')
.orderByChild('-Lecn9gN5puugx5z-PKX/status').equalTo('Pending').on('value',(snapshot) => {
snapshot.forEach((child) => {
console.log(child.key+': '+child.val());
})
})https://stackoverflow.com/questions/56094744
复制相似问题