파이어베이스에서 데이터 읽어오는 리스너들은 기본적으로 첫 호출시에 참조하고 있는 위치의 모든 데이터를 다 가져오는 작업이 수행됩니다. 따로 돌릴 필요가없어요.
dataSnapshot.exists() 메소드가 해당 참조위치에 데이터가 존재하는지 아닌지를 체크해주는 메소드입니다.
https://stackoverflow.com/questions/52601581/how-do-i-check-if-a-value-already-exists-in-firebase
위 링크는 쿼리에서 equalTo로 데이터 존재유무를 체크해야하는 값을 필터링 후에 리스너에서 exists()로 조건체크를 하는 방법입니다.
데이터 존재유무 체크가 필요한 이유가 혹시, 사용자 가입/ 로그인처리시 유효성을 체크해야 하는것이라면 파이어베이스 인증 자체에서 예외처리 부분이 제공되고있어서 그걸 활용하시면 구현이 훨씬 편할거에요.
https://stackoverflow.com/questions/37859582/how-to-catch-a-firebase-auth-specific-exceptions/38244409