На самом деле я храню объект карты в своем документе пожарного депо с некоторыми идентификаторами пользователей, которых я блокирую следующим образом.
У меня есть все идентификаторы участников, которые я блокирую в своем социальном приложении, и мне нужно получить все эти документы участников, используя запрос firestore, но запрос не работает, если у arraylist более одного index.но, когда у меня только один идентификатор, запрос работает отлично , вот код
private ArrayList<String> blocks =new ArrayList<>();
if (logedInMember != null){
blocks = logedInMember.getBlocks();
if (!blocks.isEmpty()){
Query query;
CollectionReference collection = firestore.collection(Constants.MEMBERS);
query = collection;
for (int i = 0 ; i< blocks.size(); i++){
Log.d("block member ID :", blocks.get(i) );
// now its time to query all these ids
String id = blocks.get(i);
if (!id.isEmpty()){
query = query.whereEqualTo(Constants.ID,id);
}
}
query.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()){
for (QueryDocumentSnapshot document : task.getResult()) {
Member member = document.toObject(Member.class);
Log.d("Member Id :", member.getId());
Log.d("Member Name :", member.getName());
}
}else {
// loader.dismissProgress();
Log.d("error : ","fail to load query");
}
}
});
}
}