firebase嵌套对象返回null - javascript

时间:2018-04-07 11:07:42

标签: javascript firebase firebase-realtime-database

我希望得到嵌套的子对象,就像在图像中一样,但它返回null。我想要价格和数量的价值并在表格中显示。

检查此数据库图像 here.

代码

var countRef = firebase.database().ref('Orders/' + listid);
countRef.on('value', snapshot => {
var b = snapshot.child("price").val();
var c = snapshot.child("quantity").val();
    console.log(c);
});

2 个答案:

答案 0 :(得分:1)

您指的是错误的路径,这就是您获得null的原因。以下是Firebase文档所说的内容:

  

如果没有数据,则返回的快照为空。

我无法从图像中看到您的整个数据库结构,但尝试仔细检查路径,这是我最好的猜测:

var foodItems = firebase.database().ref(`Orders/'${listid}/foodItems`)
foodItems.on('value', snapshot => {
   // the snapshot should return the foodItems array
   snapshot.forEach((obj) => {
          console.log(obj.price)
          console.log(obj.quantity)
   })

})

答案 1 :(得分:0)

如果您的listid是并存在密钥,那么您错误输入了路径:fooditems,请尝试此操作;

var countRef = firebase.database().ref('Orders/' + listid);
countRef.on('value', snapshot => {
if (snapshot.exists()) {
   var b = snapshot.child("fooditems/price").val();
   var c = snapshot.child("fooditems/quantity").val();
    console.log(c);
}
});