我想匹配来自两个不同集合的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 {
答案 0 :(得分:1)
我认为您正在寻找的是一种结合两种流并根据特定条件输出数据的方法。您可以从rxdart签出CombineLatestStream,这将使您既可以将流作为输入传递,也可以使用Combiner函数提供输出。您可以参考rxdart docs以获得关于CombineLatestStream的更多信息。
希望这会有所帮助。