Вы получаете null
, потому что escuelas
является , а не подколлекцией, это массив, который содержит объекты типа HashMap
.Поэтому следующая строка кода:
DocumentReference bulletinRef = rootRef.collection("facultades").document("3QE27w19sttNvx1sGoqR")
.collection("escuelas").document("0");
никогда не будет работать.Если вы хотите получить данные в массиве escuelas
, обратите внимание, что поля типа array
поступают из базы данных Cloud Firestore в виде List
карт.Поэтому, пожалуйста, используйте следующие строки кода:
rootRef.collection("facultades").document("3QE27w19sttNvx1sGoqR").get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
if (document.exists()) {
List<Object> list = (List<Object>) document.get("escuelas");
//Iterate throught the list and get the data
}
}
}
});
Обратите также внимание, что во время итерации каждый элемент, который вы получаете из списка, имеет тип HashMap
.Поэтому вам нужно будет выполнить итерацию еще раз, чтобы получить соответствующие данные внутри каждого HashMap
объекта.