Я хотел бы создать базу данных пользователей в Cloud Firestore с адресом электронной почты в качестве уникального идентификатора для каждого пользователя. Пользователи должны быть в collection
, а каждый пользователь - в document
.
Вот как я проверяю, существует ли пользователь в действии входа в систему:
FirebaseFirestore db = FirebaseFirestore.getInstance();
final DocumentReference userRef = db.collection("users").document(email);
userRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
Toast.makeText(LoginActivity.this, task.getResult().toString(),
Toast.LENGTH_SHORT).show();
if (document != null) {
//The user exists...
}
else {
//The user doesn't exist...
}
}
}
else
connectionErrorActivity();
}
});
База данных пуста, как видите:
Моя проблема в том, что document
никогда не бывает нулевым, даже если база данных пуста. toast
показывает, что строковое значение document
равно: COM.GOOGLE.FIREBASE.FIRESTORE.DOCUMENTSNAPSHOT@8ED6B96
.
Это правильный способ сделать это? Что я могу сделать, чтобы это исправить?