如何遍历文档集合以从子集合中获取特定文档

时间:2019-02-07 15:07:10

标签: dart flutter google-cloud-firestore

我正在开发一个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();
}

但是我无法理解如何将两者结合起来以遍历所有行程,以查找一个用户预订的所有行程并将其作为流返回。

任何帮助将不胜感激。

0 个答案:

没有答案