我需要查询用户的信息,但到目前为止,我仍然停留在应该如何从保留当前登录用户信息的文档字段中获取值的方法:
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:“电子邮件”,“ firstName”,“ lastName”。
答案 0 :(得分:2)
您可以从该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'];
});
}