Как проверить, существует ли поле в пожарном депо? - PullRequest
1 голос
/ 01 октября 2019

Я проверяю, существует ли булево поле с именем attending, однако я не уверен, как это сделать.

Есть ли такая функция, как .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");
                }
            }
        }
    });

Ответы [ 2 ]

2 голосов
/ 01 октября 2019

Вы можете сделать следующее:

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

Из документов :

public boolean exists ()

Возвращает true, еслидокумент существовал в этом снимке.

0 голосов
/ 01 октября 2019

То, что вы делаете сейчас, правильно: вы должны прочитать документ и изучить снимок, чтобы увидеть, существует ли поле. Нет более короткого способа сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...