我真正想做的是获取“传递”集合中的所有ORDER ID(“ order_id”),并在另一个调用中使用这些ID,即输入“ orders”集合并告知所有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());
}
}),
),
退货:
I / flutter(600):+++++首先+++++ {order_id:2tC5gbAYLoj375w9HrKc}
正在执行热重装...⡿I / flutter(600):快照数据++++++ AsyncSnapshot(ConnectionState.none,null,null)++++++}
我的Firestore屏幕截图 https://drive.google.com/drive/u/0/folders/1ZeXog80wvnR-6cTG2VCE0jOVfrSEyDaM答案 0 :(得分:0)
您没有从function()
返回任何信息。
在快照之前添加return关键字为:
return Firestore.instance
.collection("delivers")
.document("fvRpb1xDOKejJ5AEqXEeThaqhci1")
.collection("orders")
.snapshots();
或简单地将快照放在流的前面,如:
stream:Firestore.instance.collection('delivers').document('fvRpb1xDOKejJ5AEqXEeThaqhci1')____________.snapshots(),
答案 1 :(得分:0)
我有一个可能的问题原因:“即使数据在Firebase中,快照也始终为空”
可能是您的cloud_firestore
中的pubspec.yaml
版本导致了此问题。我尝试了各种在YouTube上获取数据的方法,但没有一种有效,最后我将cloud_firestore
的版本从^0.14.4
更改为^0.13.5
,数据突然全部出现了!这是我在pubspec.yaml
中所做的特定版本更改:注释是不起作用的新版本。
# cloud_firestore: ^0.14.4
cloud_firestore: ^0.13.5
firebase: ^7.3.3
# firebase_auth: ^0.18.4+1
firebase_auth: ^0.15.4
# firebase_core: ^0.5.3
firebase_core: ^0.4.4
这可能不是造成您问题的原因,但可能会帮助其他人:D