Как получить поле из запрошенного документа Flutter / Firetore - PullRequest
0 голосов
/ 05 июля 2018

Мне нужно запросить информацию о пользователе, но пока я застрял в том, как мне получить значения из полей в документе, в котором хранится информация о текущем вошедшем в систему пользователе:

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)
          )
        ]
      )
    )
  );
}

У меня есть коллекция с именем «Пользователи», в которой при регистрации нового пользователя создается документ для хранения его информации. Этот документ имеет поля типа String: 'e-mail', 'firstName', 'lastName'.

1 Ответ

0 голосов
/ 05 июля 2018

Вы можете получить 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'];
                  });
          }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...