По сути, вы говорите, что у вас следующая структура:
Tier-1 (collection) -> docId(document) -> Tier-2 (collection) -> docId(document) -> Tier-3 (collection) -> docId(document)
Вы можете сделать следующее:
void getData() {
Firestore.instance
.collection("Tier-1")
.where("name", isEqualTo: "peter")
.getDocuments()
.then((querySnapshot) {
querySnapshot.documents.forEach((result) {
if (result.exists) {
print(result.data);
} else {
Firestore.instance
.collectionGroup("Tier-2")
.where("name", isEqualTo: "peter")
.getDocuments()
.then((querySnapshot) {
querySnapshot.documents.forEach((result) {
if (result.exists) {
print(result.data);
} else {
Firestore.instance
.collectionGroup("Tier-3")
.where("name", isEqualTo: "peter")
.getDocuments()
.then((querySnapshot) {
querySnapshot.documents.forEach((result) {
if (result.exists) {
print(result.data);
} else {}
});
});
}
});
});
}
});
});
}
Сначала вы проверяете верхнюю коллекцию Tier-1
, если результат не возвращается, то вам нужно проверить подколлекцию Tier-2