我真正想做的是把所有在 "交付 "集合中的order ID("order_id"),并在另一个调用中使用这些ID,即在 "订单 "集合中输入,并把我在 "交付 "集合中得到的所有ID告知为文档。
我的流。
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());
}
}),
),
RETURNS:
Iflutter ( 600): +++++ 第一个 +++++ {order_id: 2tC5gbAYLoj375w9HrKc}。
进行热重装... ⡿Iflutter ( 600): SNAPSHOT DATA ++++++ AsyncSnapshot(ConnectionState.none, null, null) ++++++}。
我的火疗店截图https:/drive.google.comdriveu0folders1ZeXog80wvnR-6cTG2VCE0jOVfrSEyDaM。
你没有从 function()
.
在快照前加上return关键字,如::
return Firestore.instance
.collection("delivers")
.document("fvRpb1xDOKejJ5AEqXEeThaqhci1")
.collection("orders")
.snapshots();
或者干脆把快照放在流的前面,如 。
stream:Firestore.instance.collection('delivers').document('fvRpb1xDOKejJ5AEqXEeThaqhci1')____________.snapshots(),