我需要在flutter项目中合并两个firestore查询流。我该怎么做呢?我尝试了StreamZip([Stream1,stream2])方法来合并流,它对我有用。但是流中可能包含相同的文档。因此,当我列出它们时,所有文档都被列出,即使有重复也是如此。如何从这两个流中删除重复的文档?
Stream<List<QuerySnapshot>> getData() {
Stream defaultStream1 = _firestore
.collection("Gyms")
.where("gymPlaceTags", arrayContainsAny: ["dubai"])
.orderBy('createdAt', descending: true)
.snapshots();
Stream defaultStream2 = _firestore
.collection("Gyms")
.where("gymFavTags", arrayContainsAny: ["ajman"])
.orderBy('createdAt', descending: true)
.snapshots();
return StreamZip([defaultStream1, defaultStream2]);
}
您应该能够在arrayContainsAny
中添加多个值。