How to check if Cloud Firestore collection exists? ( querysnapshot)

前端 未结 2 963
盖世英雄少女心
盖世英雄少女心 2021-01-21 17:37

I\'m having trouble with checking if my collections exists in Firestore database. When I was working with Firebase Realtime database i could have used:

if(databa         


        
相关标签:
2条回答
  • 2021-01-21 17:56

    exists() applies to DocumentSnapshot while you're dealing with QuerySnapshot

    Call task.result for getting QuerySnapshot out of Task<QuerySnapshot>.

    From that, call result.getDocuments() and iterate through each of the DocumentSnapshot calling exists() on them.

    0 讨论(0)
  • 2021-01-21 17:57

    Use DocumentSnapshot.size() > 0 to check if the collection exists or not.

    Here is an example from my code:

      db.collection("rooms").whereEqualTo("pairId",finalpairs)
             .get()
             .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
            @Override
            public void onComplete(@NonNull Task<QuerySnapshot> task) {
                if (task.isSuccessful()) {
                    if(task.getResult().size() > 0) {
                        for (DocumentSnapshot document : task.getResult()) {
                            Log.d(FTAG, "Room already exists, start the chat");
    
                        }
                    } else {
                        Log.d(FTAG, "room doesn't exist create a new room");
    
                    }
                } else {
                    Log.d(FTAG, "Error getting documents: ", task.getException());
                }
            }
        });
    
    0 讨论(0)
提交回复
热议问题