Что я действительно хочу сделать, так это взять все идентификаторы ORDER ID («order_id»), которые находятся в коллекции «delivery», и использовать эти идентификаторы в другом вызове, то есть войти в коллекцию «orders» и сообщить всем идентификаторам I попали в коллекцию "доставить" как документы.
мой поток:
function() {
Firestore.instance
.collection("delivers")
.document("fvRpb1xDOKejJ5AEqXEeThaqhci1")
.collection("orders")
.snapshots()
.listen((orders) {
orders.documents.forEach((f) {
print("+++++ First +++++ ${f.data}");
Firestore.instance
.collection("orders")
.document(f.documentID)
.snapshots();
});
});
}
My StreamBuilder Bellow:
body: Container(
child: StreamBuilder<QuerySnapshot>(
stream: function(),
builder: (context, AsyncSnapshot<QuerySnapshot> snapshot) {
print("SNAPSHOT DATA ++++++ ${snapshot.toString()} ++++++}");
// if (snapshot.hasError)
// print("ERRO EM ++++++ ${snapshot.error.toString()} ++++++}");
if (!snapshot.hasData)
return Center(
child: RaisedButton(
onPressed: function, child: Text("press")));
switch (snapshot.connectionState) {
case ConnectionState.waiting:
return circularProgress();
break;
default:
print(
"CONNECTION DEFAULT ++++++ ${snapshot.toString()} ++++++}");
return ListView(
children: snapshot.data.documents
.map((DocumentSnapshot myOrder) {
return Text(myOrder["quantity"]);
}).toList());
}
}),
),
ВОЗВРАТ:
I / flutter (600): +++++ First + ++++ {order_id: 2tC5gbAYLoj375w9HrKc}
Выполнение горячей перезагрузки ... ⡿ I / flutter (600): SNAPSHOT DATA ++++++ AsyncSnapshot (ConnectionState.none, null, null) +++ +++}
снимки экрана моего хранилища https://drive.google.com/drive/u/0/folders/1ZeXog80wvnR-6cTG2VCE0jOVfrSEyDaM