Я работаю над приложением флаттера, которое позволяет пользователю выбрать и забронировать поездку.Источником данных является Firestore, и он настроен следующим образом:
Firestore -- Root
|
trips -- collection
|
Auto-ID -- Document
|
bookings -- collection
|
Auto-ID -- Document
Существует список документов командировок, созданных с помощью автоматического идентификатора и помещенных в коллекцию командировок.
ПользовательМожно выбрать поездку и сделать заказ, и это создает документ в коллекции заказов.(подгруппа поездок)
Я могу получить список всех заказов на одну поездку, используя следующий запрос:
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();
}
Но я не могу понять, как объединить два, чтобы обойти все поездки, чтобы найти все поездки, забронированные одним пользователем, и вернуть их в виде потока.
Любая помощь будетбыть очень оцененным.