我正在开发一个Flutter应用程序,该应用程序允许用户选择和预订行程。数据源是Firestore,其配置如下:
Firestore -- Root
|
trips -- collection
|
Auto-ID -- Document
|
bookings -- collection
|
Auto-ID -- Document
有使用自动ID创建并放置在行程集合中的行程文档列表。
用户可以选择行程并进行预订,这将在预订集合中创建一个文档。 (行程的子集合)
我可以使用以下查询获取一次旅行的所有预订的列表:
Stream<QuerySnapshot> getAllBookings(document) {
return db
.collection('trips')
.document(document)
.collection('bookings')
.snapshots();
}
我可以使用以下查询来预订一位用户:
Stream<QuerySnapshot> getUserBookings(document, user) {
return db
.collection('trips')
.document(document)
.collection('bookings')
.where('user', isEqualTo: user)
.snapshots();
}
但是我无法理解如何将两者结合起来以遍历所有行程,以查找一个用户预订的所有行程并将其作为流返回。
任何帮助将不胜感激。