无法使用Firebase检索特定孩子的值

时间:2018-06-23 16:11:02

标签: javascript firebase web firebase-realtime-database

我正在使用Firebase,并且只想为给定键(activiteId)检索具有特定值("associationId")的孩子

我尝试过的事情:

firebase.database().ref().child("collectivites").child(collectiviteId).child("evenements").orderByChild("associationId").equalTo(activiteId).once("value", function (snapshotAssociationEvenements) {
  const data = snapshotAssociationEvenements.val();
  if (data){
   console.log(data);
  }
});

问题: 该子项将显示在控制台中,但如果我执行console.log(snapshotAssociationEvenements.val().associationId);,则该控制台将返回undefined

我做错了什么?

我的数据库 enter image description here

谢谢!

1 个答案:

答案 0 :(得分:2)

尝试以下操作:

firebase.database().ref().child("collectivites").child(collectiviteId).child("evenements").orderByChild("associationId").equalTo(activiteId).once("value", function (snapshotAssociationEvenements) {
snapshotAssociationEvenements.forEach(function(childSnapshot) {
   var associateId=childSnapshot.val().associationId;
});

您的快照位于子evenements上,然后使用forEach在随机ID内循环,您将可以访问该ID下的子ID。