【问题标题】:How to loop through child records from firebase如何遍历来自firebase的子记录
【发布时间】:2017-12-30 20:09:12
【问题描述】:

我的主要目标是遍历请求表中的所有记录,以检查用户是否有reqdetails。我尝试了我的方式,但我并没有变得不正确,并且当我控制台记录它时没有显示任何内容。

我的声明和构造函数:

  request: FirebaseListObservable<any>;
  userkey: any;
  reqdetails: FirebaseListObservable<any>;

  constructor(public navCtrl: NavController, public navParams: NavParams, angFire: AngularFireDatabase) {
    this.request = angFire.list('/request');
    this.reqdetails = angFire.list('/request/reqdetails');
  }

我的声明和 firebase 控制台显示了一个请求表,其中包含一个包含 reqdetails 的用户密钥。

我的代码:

openMapPage()
  {


    let process = this.request.subscribe(records => {
// your logic
 records.forEach(record => {

  var ref = firebase.database().ref("request");
    ref.once("value")
  .then(function(snapshot) {
    var a = snapshot.exists();  // true
    var b = snapshot.child(this.reqdetails).exists(); // true
    var c = snapshot.child(this.userreq).exists(); // true


     if(c.child(b).exists())
     {
     console.log(record.$key);
     }

});

});



  });



  }

【问题讨论】:

    标签: firebase ionic-framework firebase-realtime-database ionic2


    【解决方案1】:

    您必须传递您的用户 ID 才能接收用户数据。要将用户密钥插入查询字符串,您可以使用Template Strings。请看下面的例子:

    request: FirebaseListObservable<any>;
    userkey: any;
    userreq: FirebaseListObservable<any>;
    
    constructor(public navCtrl: NavController, public navParams: NavParams, angFire: AngularFireDatabase) {
      this.request = angFire.list('/request');
      this.userreq = angFire.list(`/request/${this.userkey}`);
    }
    

    要检查用户是否有 reqdetails,您可以检查以下内容:

    openMapPage() {
      this.userreq.once('value', function(snapshot) {
        if (snapshot.hasChild('reqdetails')) {
          console.log('exists');
        }
      });
    }
    

    【讨论】:

    • 您好,我知道您必须将用户密钥传递给变量 reqdetails。但是控制台上仍然没有打印。
    • 我不明白你的逻辑。你能用我下面的代码来做吗?这会让我更好地理解
    • 我向你展示了我将如何实现 openMapPage 方法,你的问题是什么?
    • 我的意思是我不明白你的 openMapPage() 方法。我应该能够检索只有 reqdetails 的用户密钥。你的方法让我很困惑
    • 那么我建议你阅读 firebase 文档:firebase.google.com/docs/reference/js/…
    猜你喜欢
    • 2018-10-06
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    • 2014-04-03
    • 2021-03-05
    • 1970-01-01
    • 2012-02-22
    • 1970-01-01
    相关资源
    最近更新 更多