Получить все сообщения всех пользователей из Cloud Firestore - PullRequest
0 голосов
/ 20 февраля 2020

Я создаю Флаттер приложение. Структура базы данных облачного пожарного депо приведена на рисунке. Я хочу получить все сообщения всех пользователей, используя StreamBuilder. Как я могу это сделать? До сих пор я пробовал это:

Stream<List<PostModel>> jobs() {
    return usersCollection.snapshots().map((snapshot) {
      return snapshot.documents.map((doc) {
        doc['posts'].map((docu) {
          return PostModel.fromSnapshot(docu);
        });
      }).toList();
    });
  }

Firestore Database Structure

1 Ответ

3 голосов
/ 20 февраля 2020

Если вы хотите, чтобы весь документ во всех вложенных коллекциях назывался «сообщения» (для всех пользователей), то вам, вероятно, нужен запрос для группы сбора с использованием collectionGroup () :

db.collectionGroup("posts").snapshots()...

Это даст вам все документы в любой коллекции или вложенной коллекции, называемые «сообщениями», независимо от того, где они вложены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...