Firebase - 获取单元素表单数据库

我尝试从特定项目表单数据库中获取价值。但是当我使用文档中的解决方案时,我会从所有项目中获得特定的价值。


Ionic 4 Firebase 实时数据库


数据库结构:


https://.......com/projectName/bills/

-Lh-LgSqR1vSANRnA09G{

amount: xxx

name: xxx

}

-Lh-LhZachVgF7rnqW-1{

amount: xxx

name: xxx

}

-Lh-LiyC3ve4DrKmdTEj{

amount: xxx

name: xxx

}

  getKey(){

    var refKey = firebase.database().ref('bills');

    refKey.once('value', function(snapshot){

      snapshot.forEach(function(childSnap){

        var billKey = childSnap.key;

        console.log('Key 1 ' + billKey);


      });

    });

  }

我得到了这个结果:


Key 1 -Lh-LgSqR1vSANRnA09G

Key 1 -Lh-LhZachVgF7rnqW-1

Key 1 -Lh-LiyC3ve4DrKmdTEj

钥匙很好,但适用于所有物品。


我只想获取单击元素的一个键,而不是数据库中所有项目的键。


更新:


<ion-item style="color: grey;" *ngFor='let bill of myService.bills' slot='start' lines='none' (click)='getKey()'>

<p>  {{bill.name}}:  {{ bill.amount}} zł  </p>

</ion-item>


白衣染霜花
浏览 164回答 2
2回答

喵喵时光机

在您的代码中,您正在循环,这就是为什么您要检索所有键和键内的项目的原因。要解决您的问题,您可以执行以下操作:&nbsp; getKey(){&nbsp; &nbsp; var refKey = firebase.database().ref('bills').child("-Lh-LgSqR1vSANRnA09G");&nbsp; &nbsp; refKey.once('value', function(snapshot){&nbsp; &nbsp; &nbsp; &nbsp; var amount = snapshot.val().amount;&nbsp; &nbsp; &nbsp; &nbsp; var name&nbsp; &nbsp;= snapshot.val().name;&nbsp; &nbsp; });&nbsp; }这将获得与密钥相关的数据 "-Lh-LgSqR1vSANRnA09G"
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript