Javascript 从firebase检索值时接收未定义
我的电话哪里错了?第一个console.log指向role对象,第二个console.log指向undefined。当它应该是用户时Javascript 从firebase检索值时接收未定义,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我的电话哪里错了?第一个console.log指向role对象,第二个console.log指向undefined。当它应该是用户时 componentDidMount(){ let user = fire.auth().currentUser; let db = fire.database(); let roleRef = db.ref('/roles'); roleRef.orderByChild('user').equalTo(user.uid).once(
componentDidMount(){
let user = fire.auth().currentUser;
let db = fire.database();
let roleRef = db.ref('/roles');
roleRef.orderByChild('user').equalTo(user.uid).once('value', (snapshot) => {
console.log(snapshot.val())
console.log(snapshot.val().user);
})
}
结果:
火基:
对Firebase数据库执行查询时,可能会有多个结果。因此,快照包含这些结果的列表。即使只有一个结果,快照也将包含一个结果列表 您的代码没有考虑列表。最简单的方法是使用Snapshot.forEach():
对Firebase数据库执行查询时,可能会有多个结果。因此,快照包含这些结果的列表。即使只有一个结果,快照也将包含一个结果列表 您的代码没有考虑列表。最简单的方法是使用Snapshot.forEach():
我懂了!非常感谢,我明白了!非常感谢你。
roleRef.orderByChild('user').equalTo(user.uid).once('value', (snapshot) => {
snapshof.forEach((roleSnapshot) => {
console.log(roleSnapshot.val())
console.log(roleSnapshot.val().user);
});
})