Flutter FireStore,通过“文档”密钥获取文档

时间:2018-08-21 22:18:06

标签: flutter google-cloud-firestore

通过.documents [x]获取文档,在此示例中,x是基于零的文档编号。我如何通过键值获取文档? 例如,这3个文档的键为“ qwwe”

我如何获得这份文件?
Snapshot.data.document [“ qwwe”]?

这是正在处理代码问题代码//的代码。

//=======   this works
//      body: new ListOfNACS01(),

        body: new StreamBuilder(
//          stream: Firestore.instance.collection('COMPLEX_NONACS').document('A01B01C01D02').snapshots(),
          stream: Firestore.instance.collection('COMPLEX_NONACS').snapshots(),
          builder: (context, snapshot){
            if (!snapshot.hasData) return const Text("---  loading ---");
//            return new ListView.builder(
//              itemCount: snapshot.data.document.length,
//            );

              return Column(
                children: <Widget>[
                  Text(snapshot.data.documents[0].documentID),
                  Text(snapshot.data.documents[0]["DE02PRIMARY"]["INDICATION"]),


                  //--------  this does not work  ------------
                  //  how to display a document by DocumentID?
// --  The below line gives error of... 
// error: Too many positional arguments: 1 expected, but 2 found. 
// (extra_positional_arguments_could_be_named at [scaiqit55] 
// lib/main.dart:48).

                  Text(snapshot.data.document['A01B01C01D01']),
                  Text(snapshot.data.documents[0]["DE02PRIMARY"]["INDICATION"]),


                ],


              );
          },
        ),
    );
  }
}

1 个答案:

答案 0 :(得分:0)

如果您指的是使用ID提取文档快照,以下是使用^ 0.14.3版本提取Cloud Firestore文档快照的示例。如果您正在寻找的话,我还添加了一个有关如何从文档快照中获取键值的示例。您可以访问此FlutterFire cloud_firestore guide以获得更多详细信息。

train test = df.randomSplit([0.6, 0.3,0.1], seed=42)

这是从Firestore获取的数据

Firestore dashboard

// Collection reference FirebaseFirestore.instance.collection('fruits') // Document snapshot fetched using ID .doc('AQbq33GJ9GE09OaChOPq') // Fetches the value inside the Document snapshot using a key // value contains a HashMap from the Document snapshot .get().then((value) => debugPrint('Fruit name: ${value.data()['name']}')); 的预期输出为“水果名称:樱桃”