我想读取FireStore集合中的所有文档,并将它们提取到SQLite数据库中。我是这样实现这个过程的:
// instance of SQL controller
DbController sqlController = DbController();
@override
Widget build(BuildContext context) {
return scaffold (
body :
//! button to start fetching
elevationButton(
on tap: (){
StreamBuilder(
stream: FirebaseFirestore.instance.collection("orders").snapshots(),
builder: (context, snapshot) {
int count = snapshot.data!.docs.length;
for(int i = 0 ; i< count ; i++){
Map<String , dynamic> model = snapshot.data!.docs[i].data();
int modelID = int.parse(snapshot.data!.docs[i].id);
sqlController.add(
CustomerModel(
id: modelID,
name: model["name"],
phone: model["phone"],
)
);
}
return Container();
},
);
}
)
);
}
但是如何在没有streamBuilder的情况下获取文档
1条答案
按热度按时间bvjveswy1#
如果你想在不使用
StreamBuilder
的情况下从Firestore读取文档,你可以使用get()
方法进行一次性读取,或者使用listen()
方法监听更新。后者实际上是StreamBuilder
在引擎盖下使用的。有关这些示例,请参见Firebase文档: