firebase - 如何从Flustore中检索当前用户信息

标签 firebase flutter dart google-cloud-firestore flutter-dependencies

下面的代码将检索集合中的所有信息,但我只想检索当前的用户信息。我怎样才能做到这一点?

class Booking extends State<BookingDetails> {
  final databaseReference = Firestore.instance;
  var firebaseUser = FirebaseAuth.instance.currentUser();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Appbar"),
      ),
      body: Center(
        child: Container(
            padding: const EdgeInsets.all(10.0),
            child: StreamBuilder<QuerySnapshot>(
              stream: Firestore.instance.collection('User1').snapshots(),
              builder: (BuildContext context,
                  AsyncSnapshot<QuerySnapshot> snapshot) {
                if (snapshot.hasError)
                  return new Text('Error: ${snapshot.error}');
                switch (snapshot.connectionState) {
                  case ConnectionState.waiting:
                    return new Text('Loading...');
                  default:
                    return new ListView(
                      children: snapshot.data.documents
                          .map((DocumentSnapshot document) {
                        return new CustomCard(
                          title: document['name'],
                          description: document['phno'],
                        );
                      }).toList(),
                    );
                }
              },
            )),
      ),
    );
  }
}
我想为一个用户存储多个文档,我想从Firestore中检索并仅显示他的文档,该怎么做?

最佳答案

如果要检索当前用户的信息,则在这种情况下,您必须检索一个文档。具有以下结构的示例:

User1 (collection) --> userID (document)
然后,您需要执行以下操作:
 Stream<DocumentSnapshot> getData()async*{
     FirebaseUser user = await FirebaseAuth.instance.currentUser();
     yield* Firestore.instance.collection('User1').where("userId", isEqualTo: user.uid).snapshots();
  }
然后,您可以执行以下操作:
      body: Center(
        child: Container(
            padding: const EdgeInsets.all(10.0),
            child: StreamBuilder<QuerySnapshot>(
              stream: getData(),

关于firebase - 如何从Flustore中检索当前用户信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62730478/

相关文章:

javascript - 将 html 对象保存到 firebase

javascript - 如何将对象添加到firestore中的数组?

flutter - 我想要一个在关闭后自动打开的AlertDialog

android - 在 Flutter 中实现视频提要的最佳方式是什么?

datetime - 由于夏令时,Dart/Flutter 昨天未识别

flutter - flutter 中的计数器小部件

javascript - 仅从 Firebase(网络)的节点检索一些参数?

flutter - 如何在 flutter 中测试本地化的小部件?

flutter - 找不到 AndroidManifest.xml

android - 没有 Firebase 对象的 setter/getter