【问题标题】:orderByChild query not working as expected in ionic 3, angularfire 2orderByChild 查询在 ionic 3、angularfire 2 中未按预期工作
【发布时间】:2018-06-11 11:05:24
【问题描述】:

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

angularfirelist 的声明

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 数据库结构

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,我得到的结果与我得到的查询相同。 谁能帮我解释一下为什么我的查询部分不起作用?

【问题讨论】:

    标签: typescript firebase-realtime-database ionic3 angularfire2


    【解决方案1】:

    您应该从回调中返回查询,而不是原始的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));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-13
      • 1970-01-01
      • 2019-04-28
      • 2015-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多