Я пытаюсь получить один документ в своей коллекции с помощью Android Firebase Cloud Firestore, используя условие WhereEqualTo для одного поля, но я не знаю, почему иногда получаю пустой результат с теми же данными в моей базе данных.
Иногда результат пуст.Когда я удаляю предложение whereEqualTo, я получаю всю коллекцию.
вот мой запрос
public static Task<QuerySnapshot> getUserByEmail() {
String email = "mireille@sombux.com";
return UserHelper.getUsersCollection()
.whereEqualTo("email", email)
.get();
}
вот мой класс пользователя
public abstract class User {
private long id;
private String email;
private Date lastLogin;
private Date birthday;
private String country;
private String codcountry;
private String formation;
private String drink;
private String about;
public User() {}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Date getLastLogin() {
return lastLogin;
}
public void setLastLogin(Date lastLogin) {
this.lastLogin = lastLogin;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String getCodcountry() {
return codcountry;
}
public void setCodcountry(String codcountry) {
this.codcountry = codcountry;
}
public String getFormation() {
return formation;
}
public void setFormation(String formation) {
this.formation = formation;
}
public String getDrink() {
return drink;
}
public void setDrink(String drink) {
this.drink = drink;
}
public String getAbout() {
return about;
}
public void setAbout(String about) {
this.about = about;
}
и вот мои данные
и я использую это так
UserHelper.getUserByEmail().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (DocumentSnapshot document : task.getResult()) {
final User remoteUser = document.toObject(User.class);
if (remoteUser != null) {
Toast.makeText(context, "Find", Toast.LENGTH_SHORT).show();
// do something
}
return;
}
Toast.makeText(context, "Not find", Toast.LENGTH_SHORT).show();
}
}
});