Посмотрите, я создал метод входа в Google, и после этого настройка, которая должна отображаться только в первый раз при входе в систему на этом экране, он вводит некоторую информацию о себе, которая будет загружена в документ в firestore. Этот документ firestore будет иметь тот же UID, что и пользователь, входящий в систему Google. Чтобы выяснить, есть ли у пользователя уже учетная запись с некоторой предоставленной информацией, я хочу сделать запрос, существует ли уже документ с указанным c uid в качестве имени документа.
FirebaseUser user = mAuth.getCurrentUser();
FirebaseFirestore db;
String currentID = mAuth.getCurrentUser().getUid();
// Checken ob User schon Dokument hat
db = FirebaseFirestore.getInstance();
db.collection("users")
.whereEqualTo("uid", currentID)
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() { // Add the listener callback
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if(task.isSuccessful()) {
// Check the size of the result to see if any matches were found
if(task.getResult().size() == 0) {
// No document exists containing the searched value
} else {
// A document already exists containing the searched value
hasDocument = true;
}
} else {
Log.e(TAG, "There was an error querying the documents.", task.getException());
}
}
});
if(hasDocument) {
SendUserToMainActivity();
} else {
SendUserToSetupActivity();
Toast.makeText(LoginActivity.this, "You must provide some information first", Toast.LENGTH_LONG).show();
}
I думаю, моя проблема в том, что я запрашиваю поле, и я не знаю, как запросить имя документа вместо самого поля. Как это сделать?
Так структурированы документы: