2017-09-05 70 views
0

我在Firebase中拥有我的数据库,但我想做一个WHERE作为登录(即如果我输入用户和密码,它将带给我用户的相应数据)。使用Firebase在离子中创建一个'Where` 3

这是我在火力DB:

enter image description here

一个例子:

当我发送电子邮件和telefono到tb01_usuario给我相应的数据:

目前,我只是使用与现场电话类似的ID进行操作,但我需要使用两个字段来完成此操作在每条记录中,我希望他们能够理解我

verifica_usuario(telefono: string,email : email) { 

    email = email; 
    telefono = telefono; 

    let promesa = new Promise((resolve, reject) => { 
     //this.items = afDB.list('/cuisines'); 
     this.af.list('/tb01_usuario/' + telefono + email) 
     .subscribe(data => { 
      if (data.length === 0) { 
      //clave no es correcta 
      resolve(false); 
      } else { 
      //clave correcta 
      this.telefono = telefono; 
      this.guardar_storage(); 
      resolve(true); 
      } 
     }); 
    }) 
     .catch(error => console.log("ERROR en promesa Service: " + JSON.stringify(error))); 

    return promesa; 
    } 
+1

这个问题很不明确 - 你问的是如何在Firebase中基于两个子节点执行查询;姓名和电话?即名称='某个名字'*和*电话='某个电话'? – Jay

回答

0

您不能直接在Firebase中那样做。

Firebase docs

实时数据库API被设计成只允许可以快速执行的操作。

您应该用structure your data这种方式轻松获取您需要的东西。

+0

用FireBase在离子3中做一个'Where' –

+0

告诉OP'阅读文档'真的不是答案。如何通过代码和Firebase结构示例为问题提供asnwer(解决方案)? – Jay

0

你可能想使用什么是可利用冗余节点(类似于MarianoCordoba提到的),它的方式,可以更容易地访问你所需要的数据复制,或indexOndocumentation)和orderByChild([CHILD_NODE]).equalTo([QUERY])documentation)。请注意,您还可以使用orderByKey()orderByValue(),它们允许您对数据进行过滤/排序(这正是我假设您使用Firebase中的WHERE来表示的意思)。