Поскольку имя подколлекции Counties
одинаково во всех State
документах, для получения значения свойства "Briti sh Population" требуется запрос группы сбора Firestore, Однако это не будет работать, если в вашем документе Country
нет другого свойства, которое может помочь вам создать этот запрос. В коде должно выглядеть так:
db.collectionGroup("Counties").whereEqualTo("nationality", "British").get()
.addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
// ...
}
});
Это переводится так. Эй, Firestore, дай мне все Country
документов, которые существуют во всех Countries
коллекциях или вложенных коллекциях, где "национальность" - это "Briti sh". Итак, как вы можете видеть, я добавил новое свойство с именем nationality
и добавил соответствующее значение как «Briti sh». Поскольку все документы содержат такое свойство, все документы будут возвращены.
Кроме того, свойство "Briti sh Population" также можно изменить на "население". Теперь внутри onSuccess()
вы можете запросить объект QuerySnapshot
и получить значение для свойства population
.