¿Cómo recorro los elementos secundarios de una instancia de Firebase?

Quiero saber cómo recorrer los hijos deeveryone. Estoy usando Firebase y AngularJS.

Mi objeto firebase se ve así:

Para mí parece un diccionario, así que deObtener una lista de claves de matriz asociativas Yo he tratado

syncData('everyone').$bind($scope, 'everyone').then(function() {
  var keys = $scope.everyone.$getIndex();
  for (var key in $scope.everyone) {
   console.log("key : " + key + " value : " + $scope.everyone[key]);
  }
});

El registro contiene los objetos secundarios, pero también incluye todos los métodos. Al igual que

... Before this line is all the other methods.
key : $on value : function (a,c){if("loaded"==a&&b._loaded)return b._timeout(function(){c()}),void 0;if(!b._on.hasOwnProperty(a))throw new Error("Invalid event type "+a+" specified");b._on[a].push(c)} controllers.js:58
key : $off value : function (a,c){if(b._on.hasOwnProperty(a))if(c){var d=b._on[a].indexOf(c);-1!==d&&b._on[a].splice(d,1)}else b._on[a]=[];else b._fRef.off()} controllers.js:58
key : $auth value : function (a){var c=b._q.defer();return b._fRef.auth(a,function(a,b){null!==a?c.reject(a):c.resolve(b)},function(a){c.reject(a)}),c.promise} controllers.js:58
key : $getIndex value : function (){return angular.copy(b._index)} controllers.js:58
key : -JH45WOOAtnZfUZkrJb1 value : [object Object] controllers.js:58
key : -JH45YdfwptGv3y6UqyV value : [object Object] controllers.js:58
key : -JH45_zxptV_dmibyGzL value : [object Object] 

¿Hay alguna manera de que pueda conseguir solo a los niños?

Estoy haciendo esto porque mi código fue diseñado para usar una matriz, pero Firebase desalienta el uso de matrices (para valores que varias personas podrían cambiar). Así que estoy tratando de recorrer el diccionario firebase y copiar los objetos en una matriz en el lado del cliente. Entonces no tengo que cambiar demasiado mi código.

Respuestas a la pregunta(3)

Su respuesta a la pregunta