Como excluir um elemento de uma consulta do Firestore?
Eu tenho uma coleção de usuários e quero consultar todos os usuários do banco de dados e exibi-los em umRecyclerView
excepto um,meu. Este é o meu esquema db:
users [collection]
- uid [document]
- uid: "fR5bih7SysccRu2Gu9990TeSSyg2"
- username: "John"
- age: 22
- //other users
Como consultar o banco de dados da seguinte forma:
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
Query q = db.collection("users").whereNotEqualTo("uid", uid);
Então, eu preciso que esse objeto de consulta seja passado para umFirestoreRecyclerOptions
objeto para exibir todos os outros usuários emRecyclerView
.
Isso é possível? Caso contrário, como posso resolver isso? Obrigado!
Editar:
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();