如何从查询的文档 Flutter/Firetore 中获取字段

Mar*_*rko 0 dart firebase flutter google-cloud-firestore

我需要查询用户的信息,但到目前为止,我一直坚持如何从文档中的字段中获取值,以保留当前登录用户的信息:

String firstName = "";
String lastName = "";

void getInfo() async{
  var user = FirebaseAuth.instance.currentUser();
  var userQuery = Firestore.instance.collection('Users').where('e-mail', isEqualTo: '$user.email');

  // WHAT SHOULD I DO NEXT

}

@override
void initState(){
   super.initState();
   getInfo();
}

@override
Widget build(BuildContext context){
  return new Scaffold(
    body: new Container(
      child: new ListView(
        children: <Widget>[
          new ListTile(
            title: new Text(firstName)
          ),
          new ListTile(
            title: new Text(lastName)
          )
        ]
      )
    )
  );
}
Run Code Online (Sandbox Code Playgroud)

我有一个名为“用户”的集合,当新用户注册时,它会创建一个文档来存储他的信息。该文档具有字符串类型的字段:'e-mail'、'firstName'、'lastName'。

die*_*per 5

您可以documents从该collection参考中获取,之后您应该从 中获得数据document,如下所示:

   var user = await FirebaseAuth.instance.currentUser();
      var userQuery = Firestore.instance.collection('Users').where('e-mail', isEqualTo: user.email).limit(1);
      userQuery.getDocuments().then((data){ 
          if (data.documents.length > 0){
              setState(() {
                    firstName = data.documents[0].data['firstName'];
                    lastName = data.documents[0].data['lastName'];
                  });
          }
Run Code Online (Sandbox Code Playgroud)