firebase flutter中从fireStore获取数据到SQLite

abithluo  于 2023-06-24  发布在  Flutter
关注(0)|答案(1)|浏览(119)

我想读取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的情况下获取文档

bvjveswy

bvjveswy1#

如果你想在不使用StreamBuilder的情况下从Firestore读取文档,你可以使用get()方法进行一次性读取,或者使用listen()方法监听更新。后者实际上是StreamBuilder在引擎盖下使用的。
有关这些示例,请参见Firebase文档:

  • 获取集合中的所有文档
  • 侦听集合中的多个文档

相关问题