由于我是firebase的新手,请帮助我。这里的问题是,电子邮件是另一个名为user_profile的密钥的一部分,该密钥在用户的uid(作为密钥)下退出。
答案 0 :(得分:0)
使用此代码,您可以在UID中收到您的电子邮件
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference idRef = rootRef.child(uid).child("user_profile").child("email");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String email = datasnapshot.getValue(String.class);
Log.e("email is:",""+email);
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
记住,要获得uid,您必须声明mAuth
private FirebaseAuth mAuth;
mAuth = FirebaseAuth().getInstance();
String uid = mAuth.getCurrentUser().getUid();
< ----此行将重新调整uid
答案 1 :(得分:0)
使用数据库查询相当容易。在这种情况下,您有一个需要匹配值的属性user_profile/email
。所以:
var ref = firebase.database().ref('users');
var query = ref.orderByChild('user_profile/email').equalTo('issidhant.k@gmail.com');
query.once('value', function(snapshot) {
snapshot.forEach(function(user) {
console.log(user.key+': '+user.val().user_profile.displayName);
});
});
要了解详情,请阅读Firebase documentation on sorting and filtering data。