java - 如何检查该字段是否存在于 firestore 中?

标签 java android firebase google-cloud-firestore

我正在检查名为 attending 的 boolean 字段是否存在,但我不确定该怎么做。

是否有诸如 .child().exists() 之类的函数或我可以使用的类似函数?

firebaseFirestore.collection("Events")
    .document(ID)
    .collection("Users")
    .get()
    .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
        @Override
        public void onComplete(@NonNull Task<QuerySnapshot> task) {
            if(task.isSuccessful()) {
                for(QueryDocumentSnapshot document: task.getResult()){
                    attending = document.getBoolean("attending");
                }
            }
        }
    });

最佳答案

您可以执行以下操作:

  if(task.isSuccessful()){
    for(QueryDocumentSnapshot document: task.getResult()){
       if (document.exists()) {
          if(document.getBoolean("attending") != null){
             Log.d(TAG, "attending field exists");
          }
        }
      }
  }

来自docs :

public boolean exists ()

Returns true if the document existed in this snapshot.

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

相关文章:

java - 设置项目的初始值时如何触发 itemStateChanged 事件?

java - 如何实现网络服务事务?

java - 如何在 Blackberry Java 中只运行一次方法?

android - 如何创建一个具有透明背景和阴影的形状,但形状轮廓后面的阴影不应该是可见的?

ios - Firebase .queryStarting 不起作用(Swift)

android - 如何升级 FirebaseListAdapter

c# - Firebase 云消息传递和 C# 服务器端代码

java - 再玩一次功能不起作用

Java日期计算结果截断小数位

android - 带有 React Native 的 Nox 模拟器