【发布时间】:2017-11-17 11:56:23
【问题描述】:
在Firestore query-data get-data 文档中,我想知道document != null 在什么情况下会评估为假?不应该是!document.exists()
DocumentReference docRef = db.collection("cities").document("SF");
docRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
if (document != null) {
Log.d(TAG, "DocumentSnapshot data: " + task.getResult().getData());
} else {
Log.d(TAG, "No such document");
}
} else {
Log.d(TAG, "get failed with ", task.getException());
}
}
});
【问题讨论】:
-
我认为你是对的 -
DocumentSnapshot不应该是null但它可能不存在,所以这里应该使用exists()。Task参考文档没有提到getResult()也可以返回null。 -
事实上,除了 Android 和 Objective-C 之外,其他示例(重要的是 Java 示例)都使用
exists()。 -
刚开始迁移到 Cloud Firestore,如果文档正确,它会有所帮助,但我现在看到 CF 处于测试阶段,所以难怪
标签: android firebase google-cloud-firestore