Как я могу сопоставить два поля в двух разных коллекциях? - PullRequest
0 голосов
/ 09 мая 2020

Я хочу сопоставить GroupID из двух разных коллекций. Как я могу использовать documentSnapshot внутри StreamBuilder?

 @override
  void initState() async{
    // TODO: implement initState
    super.initState();
    chatReference =
        db.collection("users").document(uid).collection('usergroups');
  }






StreamBuilder<QuerySnapshot>(
           stream: Firestore.instance
                   .collection('groups')
                   .where('GroupID', isEqualTo: documentSnapshot.data['GroupID'])
                   .snapshots(),
                builder: (BuildContext context,
                    AsyncSnapshot<QuerySnapshot> snapshot) {
                 if (!snapshot.hasData) {
                   return new Text('Connecting...');
                 } else {

1 Ответ

1 голос
/ 09 мая 2020

Я думаю, что вы ищете способ объединить оба потока и вывести данные в соответствии с определенными условиями. Вы можете проверить CombineLatestStream из rxdart, что позволит вам передать как поток в качестве ввода, так и использовать функцию объединения для получения вывода. Вы можете обратиться к rxdart docs для получения дополнительной информации о CombineLatestStream.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...