Firebase数据使用唯一键来查找数据

时间:2017-07-12 03:54:16

标签: android firebase firebase-realtime-database

firebase datd

我想用电子邮件找到"帐号"。我该怎么办?

THX

2 个答案:

答案 0 :(得分:1)

执行以下操作:

FirebaseDatabase.getInstance().getReference("user").orderByChild("put the key of your email")
.equalTo("put here the email you are looking for").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
    //dataSnapshot includes all the children whose email you wanted
    for (DataSnapshot postSnapshot: dataSnapshot.getChildren()) {
        //It will give you what you want
        System.out.println(postSnapshot.getValue("帳號")
    }
}

@Override
public void onCancelled(DatabaseError databaseError) {
}
});

答案 1 :(得分:0)

为了解决您的问题,我使用push()方法提供的随机生成的密钥,而不是自己的电子邮件。要检查是否存在电子邮件地址,只需直接在exists()对象上使用dataSnapshot方法。

由于Firebase不接受密钥中的.符号,因此我建议您对电子邮件地址进行编码,如下所示:

  

name@email.com - >名@电子邮件,玉米

希望它有所帮助。