为了解决这个问题,您应该以下列方式从数据库中获取数据Map
:
yourDocumentReference.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
if (document.exists()) {
Map<String, Object> map = document.getData();
if (map.size() == 0) {
Log.d(TAG, "Document is empty!");
} else {
Log.d(TAG, "Document is not empty!");
}
}
}
}
});
只检查文档是否存在并不意味着它是空的。该文档可以存在(如您的屏幕快照中所示),但没有设置属性。由于Cloud Firestore数据库中的每个文档都是Map,因此您可以使用size()
方法来查看是否为空。