Получить коллекцию определенного документа в базе данных в флаттере - PullRequest
0 голосов
/ 04 мая 2020

имя документа является авторизованным пользователем, но я не могу получить его как индекс в пожарном хранилище. Мне нужно только указать на user.uid и получить его коллекцию

StreamBuilder(
          stream: Firestore.instance.collection("Attendees").snapshots(),
          builder: (BuildContext context, AsyncSnapshot snapshot) {
            if (snapshot.hasData) {
              return new ListView.builder(
                  shrinkWrap: true,
                  itemCount: snapshot.data.documents.length,
                  padding: const EdgeInsets.only(top: 5.0),
                  itemBuilder: (context, index) {
                    DocumentSnapshot ds = snapshot.data.documents[index];
                    return new Row( 
                      textDirection: TextDirection.ltr,
                      children: <Widget>[
                        Expanded(child: Text(ds['absenceDay'])),
                        Expanded(child: Text(ds['excuse'])),
                      ],
                    );
                  });
            }
          },
        )

enter image description here

1 Ответ

0 голосов
/ 04 мая 2020

Попробуйте следующее:

  getDocument() async {
    FirebaseUser user = await FirebaseAuth.instance.currentUser();
     return Firestore.instance.collection("Attendees").document(user.uid).snapshots();
  }

Затем используйте его в StreamBuilder:

StreamBuilder(
 stream: getDocument(),
 builder: (BuildContext context, AsyncSnapshot snapshot) {
 if (snapshot.hasData) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...