Когда это сделано, вы можете использовать метод «не равно» на стороне клиента и не сталкиваться с какими-либо проблемами Firestore. Еще одним преимуществом является то, что вам не нужно связываться с адаптером или скрывать представление из элемента списка, который вы не хотели использовать в утилите.
я есть коллекция пользователей, и я хочу запросить всех пользователей из базы данных и отобразить их вRecyclerView
Кроме одного,шахта, Это моя схема БД:
users [collection]
- uid [document]
- uid: "fR5bih7SysccRu2Gu9990TeSSyg2"
- username: "John"
- age: 22
- //other users
Как сделать запрос к базе данных так:
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
Query q = db.collection("users").whereNotEqualTo("uid", uid);
Поэтому мне нужно, чтобы этот объект запроса был переданFirestoreRecyclerOptions
объект для отображения всех других пользователей вRecyclerView
.
Это вообще возможно? Если нет, как я могу решить это? Спасибо!
Редактировать:
options = new FirestoreRecyclerOptions.Builder<UserModel>()
.setQuery(query, new SnapshotParser<UserModel>() {
@NonNull
@Override
public UserModel parseSnapshot(@NonNull DocumentSnapshot snapshot) {
UserModel userModel = documentSnapshot.toObject(UserModel.class);
if (!userModel.getUid().equals(uid)) {
return userModel;
} else {
return new UserModel();
}
}
}).build();