orderByChild查询在ionic 3中没有按预期工作,angularfire 2

时间:2018-01-01 11:10:42

标签: typescript firebase-realtime-database ionic3 angularfire2

我试图使用firebaselist打印我在firebase上的所有用户。

角度火焰列表的清除

ProfileList:AngularFireList<Profile>

然后在我的服务提供商功能。我这样打电话给我的火力棒。

result= this.database.list('/Profiles', ref => {
            ref.orderByChild('name').equalTo(Firstname)          
            return ref;
   });
return result

在主体中我称之为

这个功能
this.data.SearchUser(Query).valueChanges().subscribe((profile)=>{
            console.log("profiles are:",profile)
      })

然后这是我的firebase数据库sutructure

chatapp-1759eaddclose
    Profiles
      LN6OnvZsj3XHZNurU2Tm86JVqm93
        DateOfBirth: 
           "2018-01-01"
        email: 
          "travelbuddy1114@gmail.com"
        last_name: 
          "riaz"
        name: 
          "raheel "
     l2hghReBkWOUCYZCy1yPUPbvHxi2
       DateOfBirth: 
          "2017-12-31"
       email: 
          "azharejaz45@gmail.com"
       last_name: 
          "Ejaz"
       name: 
          "Azhar"

我获取了我的firebase帐户中的所有个人资料,但是我正在运行查询,为我提供每个用户名称与我输入的名称匹配的个人资料,但查询部分无效,我试图在没有查询的情况下运行它并简单地返回ref,我得到了与查询相同的结果。 任何人都可以帮我解释为什么我的查询部分不起作用?

1 个答案:

答案 0 :(得分:2)

您应该从回调中返回查询,而不是原始的ref

this.database.list('/Profiles', ref => {
            return ref.orderByChild('name').equalTo(Firstname)          
            //return ref; -- not this
   });

或者,简而言之,

this.database.list('/Profiles', ref => ref.orderByChild('name').equalTo(Firstname));