Javascript 为什么我的快照返回null,即使Firebase数据库上有值

Javascript 为什么我的快照返回null,即使Firebase数据库上有值,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我在Firebase数据库中尝试获取数量值的快照的代码有问题。我已经捕获了我的数据库 及 请尝试以下操作: firebase.auth().onAuthStateChanged(function(user) { if (user) { uid = user.uid; firebase.database().ref("mycart").child(uid).child(imguid).once("value").then(function(snapshot) { if(sna

我在Firebase数据库中尝试获取
数量
值的
快照的代码有问题。我已经捕获了我的数据库

请尝试以下操作:

firebase.auth().onAuthStateChanged(function(user) { 
 if (user) { 
 uid = user.uid;
 firebase.database().ref("mycart").child(uid).child(imguid).once("value").then(function(snapshot) { 
   if(snapshot.exists()){ 
       console.log("snapshot"+snapshot.key);
      } 
      console.log("snapshot doest exists"); 
    }); 
   }
  else{ } });
返回null的
uid
,因此您得到了该错误。在firebase中检索身份验证数据是异步的,因此如果要使用
uid
从数据库检索数据,则需要将其添加到
onAuthStateChanged
下,尝试以下操作:

firebase.auth().onAuthStateChanged(function(user) { 
 if (user) { 
 uid = user.uid;
 firebase.database().ref("mycart").child(uid).child(imguid).once("value").then(function(snapshot) { 
   if(snapshot.exists()){ 
       console.log("snapshot"+snapshot.key);
      } 
      console.log("snapshot doest exists"); 
    }); 
   }
  else{ } });

返回null的
uid
,因此您得到了该错误。在firebase中检索身份验证数据是异步的,因此如果要使用
uid
从数据库检索数据,则需要将其添加到
onAuthStateChanged

snapshop.key返回值=imguidconsole.log(snapshot.val())下。。值为空是wright为mycart?firebase.database().ref('mycart/'+uid+“/”+imguid)设置的规则。更新({image:imgurl,packageplace:place,price:total,quantity:parseInt(inputField.value,10),uid:imguid}规则集全部为true snapshop.key返回值=imguidconsole.log(snapshot.val())…值为空是wright为mycart?firebase.database().ref('mycart/'+uid+“/”+imguid)设置的规则。更新({image:imgurl,packageplace:place,price:total,quantity:parseInt(inputField.value,10),uid:imguid}规则集all is trueError:Reference.child失败:第一个参数是无效的path=“null”。路径必须是非空字符串,并且不能包含“.”、“$”、“[”、或“]”。为什么?我得到了这条消息尝试
firebase.database().ref(“mycart”).child(uid)。一次(“值”)。然后(函数(快照){if(快照.exists()){console.log(“快照”)+snapshot.key);}console.log(“snapshot doest exists”);});
您如何检索uid?firebase.auth().onAuthStateChanged(函数(用户){if(用户){uid=user.uid;}else{});好的,执行此操作
firebase.auth().onAuthStateChanged(函数(用户){if(用户){uid=user.uid;firebase.database().ref(“mycart”).child(uid).child(imguid).once(“value”).then(函数(快照){if(snapshot.exists()){console.log(“snapshot”+snapshot.key);}console.log(“snapshot doest exists”);};}else{};
错误:Reference.child失败:第一个参数是无效路径=“null”.path必须是非空字符串,并且不能包含“.”、“$”、“[”、或“]”。为什么?我得到了这个尝试
firebase.database().ref(“mycart”).child(uid)。once(“value”)。然后(函数(snapshot){if(snapshot.exists()){console.log(“snapshot”+snapshot.key)}console.log(“snapshot doest exists”)})
你是如何检索uid的?firebase.auth().onAuthStateChanged(函数(用户){if(用户){uid=user.uid;}else{});好的,这样做
firebase.auth().onAuthStateChanged(函数(用户){if(用户){uid=user.uid;firebase.database().ref(“mycart”).child(uid).child(imguid).一次(“value”)(快照){if(snapshot.exists()){console.log(“snapshot”+snapshot.key);}console.log(“snapshot doest exists”);});}else{});