У меня есть две коллекции в моей базе данных Firestore;«запросы» и «пользователи». Мое требование состоит в том, чтобы получить все запросы относительно определенного флага из коллекции «запросов». После этого мне нужно проверять uid в каждом запросе и запрашивать данные моего пользователя, используя этот uid из коллекции "users". В этом случае я выбираю имя пользователя и номер, используя StreamBuilder в флаттере. Ниже мой подход:
return new StreamBuilder(
stream: db.collection("queries").where("isAttended", isEqualTo: false).snapshots(),
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot){
if(!snapshot.hasData) return new Text("Loading...");
return new ListView(
children: snapshot.data.documents.map((document){
String name = '';
String number = '';
var doc = db.collection("users").document(document["uid"]).get();
doc.then((onValue) {
number = onValue.data['number'];
name = onValue.data['name'];
});
return new ListTile(
title: new Text(name),
subtitle: new Text(number),
);
}).toList(),
);
},
);
Проблема в том, что onValue возвращает ноль. Посоветуйте, пожалуйста, мой подход для запроса данных в порядке, указанном выше. ТИА.