java - 如何检查特定 Firestore 文档中是否存在特定字段?

标签 java android firebase google-cloud-firestore

假设我有一个文档。我知道它的ID。现在我想知道该文档中是否存在特定字段。如果没有,我想创建它。可能吗?

PS:我不想使用自己的字段名称并将该值设置为 null

最佳答案

How to check whether a particular field exist in a particular firestore document?

要解决这个问题,您可以简单地检查是否无效,如下所示:

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
DocumentReference docIdRef = rootRef.collection("yourCollection").document("yourDocumentId");
docIdRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
    @Override
    public void onComplete(@NonNull Task<DocumentSnapshot> task) {
        if (task.isSuccessful()) {
            DocumentSnapshot document = task.getResult();
            if (document.exists()) {
                if (document.get("yourField") != null) {
                    Log.d(TAG, "your field exist");
                } else {
                    Log.d(TAG, "your field does not exist");
                    //Create the filed
                }
            }
        }
    }
});

要向现有文档添加新的特定字段,请参阅此 post 中的我的答案

关于java - 如何检查特定 Firestore 文档中是否存在特定字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52860089/

相关文章:

java - Java 中常用的数据结构有哪些?

firebase - 部署functions.pubsub.schedule时如何修复创建函数失败

firebase - 无法从Firebase中的文本字段表单保存数据

java - Firebase SetValue() 和 SetValueAsync() 方法之间有什么区别以及何时使用它们?

java - 为什么只有在 Android 设备上按下主页按钮并返回时才会清理内存?

java - 检索异步类中的上下文

java - Selenium:为三种环境运行具有不同 URL 的 Java 代码

java - Spring Boot 仅在 IDE 中工作

android - LinearLayout$LayoutParams 无法转换为 android.support.v4.widget.DrawerLayout$LayoutParams

android: onMeasure 调用过于频繁