如何匹配两个不同集合中的两个字段?

时间:2020-05-08 22:04:27

标签: firebase flutter google-cloud-firestore

我想匹配来自两个不同集合的GroupID。 如何在StreamBuilder中使用documentSnapshot?

 @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 个答案:

答案 0 :(得分:1)

我认为您正在寻找的是一种结合两种流并根据特定条件输出数据的方法。您可以从rxdart签出CombineLatestStream,这将使您既可以将流作为输入传递,也可以使用Combiner函数提供输出。您可以参考rxdart docs以获得关于CombineLatestStream的更多信息。

希望这会有所帮助。

相关问题