在孩子上添加不返回任何东西

Posted

技术标签:

【中文标题】在孩子上添加不返回任何东西【英文标题】:on child added not returning anything 【发布时间】:2018-03-30 07:49:38 【问题描述】:

我有一个如下所示的数据库:

  /*
  formsById
    formId
      usersList
        userId
  */

我想要做的是返回与特定 formId 关联的所有用户 (usersList) 的引用。这是我在提供程序中的方法:

  // this returns a list of users (ref) of the current form
  getFormsUsersRef(formId): firebase.database.Reference 
    let formsRef = firebase.database().ref("formsById");
    return formsRef.child(formId).child("usersList");    
  

这是我的组件中的代码:

  // list the forms
  ionViewDidLoad() 
    this.sharingProvider.getFormsUsersRef(this.formId).on('child_added', fuSnap => 
      // not returning anything
      console.log(fuSnap);
    );
  

如果我在控制台记录 getFormsUsersRef 返回的内容是正确的(它是数据库引用),但是我的 .on('child_added') 根本没有返回任何内容。

我在这个应用程序的不同数据集上使用了相同的方法,它运行良好,唯一的区别是我的 userId 存储为 firebase uid 值而不是按键?

感谢任何帮助我已经坚持了几个小时。

【问题讨论】:

【参考方案1】:

事实证明,我引用的是 formsById 而不是 formsByID - 它现在可以正常工作了。

getFormsUsersRef(formId): firebase.database.Reference 
    let formsRef = firebase.database().ref("formsByID");
    return formsRef.child(formId).child("usersList");    
   

【讨论】:

以上是关于在孩子上添加不返回任何东西的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 在同一张桌子上返回父母的孩子

OpenGL变换反馈没有返回任何东西

Django:Filter()不返回任何东西

未来不返回任何东西

为啥调用存储过程不返回任何东西?

objectForKey 不返回任何东西