【发布时间】:2018-03-16 09:49:06
【问题描述】:
我想在 Cloud Firestore 中创建一个用户数据库,并将电子邮件作为每个用户的唯一 ID。用户应该是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。 p>
这是正确的方法吗?我能做些什么来修复它?
【问题讨论】:
标签: android firebase google-cloud-firestore