如何从cloud firestore获取数据,其中user.uid等于flutter中的文档ID?

San*_*rma 3 dart firebase firebase-authentication flutter google-cloud-firestore

我有这个显示用户信息的配置文件屏幕。用户通过身份验证后,我将数据存储在云 Firestore 中,文档 ID 等于用户 ID。现在,我想从 cloud firestore 中检索数据,当前 userId 等于文档 id。

在此处输入图片说明

现在我有这个:

class UserManagement {
  getData() async{
    String userId = (await FirebaseAuth.instance.currentUser()).uid;
    print(userId);
    return Firestore.instance.collection('users').document(userId);

  }
Run Code Online (Sandbox Code Playgroud)

但是当我注销并使用其他用户重新登录后,它无法正常工作,它显示相同的数据。

UserManagement().getData().then((results) {
    setState(() {
      userFlag = true;
       users = results;
    });
    });
Run Code Online (Sandbox Code Playgroud)

现在,如何获取其他字段,如姓名、电子邮件、课程、电话号码等,以及所有存储到 user.right 中的所有值?

Pet*_*dad 5

如果您的 firestore 中的文档 ID 等于useridFirebase 身份验证控制台中的 ,那么您需要检索第uid一个并将其作为参数传递给方法document()

getData() async{
    String userId = (await FirebaseAuth.instance.currentUser()).uid;
    return Firestore.instance.collection('users').document(userId);
  }
Run Code Online (Sandbox Code Playgroud)