如何检查 Firestore 上是否有空文档?

Abh*_*ash 5 java android firebase google-cloud-firestore

所以我试图删除一个Firebase Firestore不包含字段的文档。但是在删除文档之前如何检查文档是否没有数据呢?

在此输入图像描述

Ale*_*amo 3

为了解决这个问题,您应该从数据库中获取数据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!");
                }
            }
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

仅检查文档是否存在并不意味着它是空的。该文档可以存在(如屏幕截图所示),但没有设置属性。由于 Cloud Firestore 数据库中的每个文档都是一个 Map,因此您可以使用size()方法来查看是否为空。