对于了解 Dart 中的 Streams 的人来说,这可能是微不足道的。我有一个 List connections
,它们只是存在于 firestore 的单个集合中的文档 ID。
我不能whereIn
用于我的 firestore 查询,因为它仅限于 10 个项目。因此,我试图遍历每个连接 ID,然后使用带有查询的集合流一次获取一个文档。
下面的代码不起作用。它返回此错误:
The method 'add' was called on null.
Stream<List<SpecialEvents>> upcomingSpecialEventsStream(List connections) {
if (connections.isEmpty) {
return Stream.value(null);
}
List event;
connections.forEach((connection) {
event.add(_service.collectionStream(
path: FirestorePath.specialEvents(),
queryBuilder: (query) => query.where(
'uid',
isEqualTo: connection,
),
builder: (data, connection) => SpecialEvents.fromMap(data, connection),
));
});
return event as Stream;
}