How to iterate over firebase data object to list

Viewed 10113

firebase data

logging data

 this.fb.getShoppingItems().then(result =>{
   this.exercises=result;
   console.log("this exercise : ");
   console.log(this.exercises);
 })

I should list firebase data but getting error like below

Cannot find a differ supporting object '[object Object]' of type 'object'. NgFor only supports binding to Iterables such as Arrays.

first pic is my firebase data structure and second one is console.log result.

in html , I should iterate over exercises came from firebase data(interval_time, name, rest_time, time)

I think I should iterate over . for each date node like 20170710/20170711 ... How can I do that?

3 Answers
I have a database like this
5bs_es1
   |
   dasdaskj
   |    |
   |   domanda1: "qualcosa..."
   | 
   |
   |
   sfjdk
       |
      domanda1: "fkfgdfh"
       |
      domanda2: "fsdjfhjsdhfj"

I use this function to get all the child values

function retrieveData(){

let ref = firebase.database().ref().child("5bs_es1");

  ref.on('value', function(snapshot) {
      let snap = snapshot.val();
      for (i in snap){
       console.log("\n" + i);
        for (n in snap[i]){
             console.log(n, snap[i][n])     
      }
  }
  });
}

Another example

It is easy to iterate this way, after the configuration code, putting data into a div called 'prosegui', for example:

<div id="prosegui"></div>

  let database = firebase.database();
  let ref = database.ref("BEP");

  ref.on("value", gotData, errData);

   function gotData(data){
    prosegui.innerHTML = "";
    x = data.val();
    for (n in x){
      prosegui.innerHTML += n + ": " + x[n] + "<br>"
    }
  }
  function errData(err){
    console.log("Error");
    console.log(err);
  }

Related