Как отфильтровать подколлекцию firebase путем обработки данных во Flutter - PullRequest
0 голосов
/ 04 августа 2020

У меня есть коллекция под названием «сообщения». Сообщения имеют подколлекцию под названием «обратная связь».

когда пользователь дает отзыв о публикации, его идентификатор и комментарий добавляются в под коллекцию отзывов.

Теперь я хочу найти сообщения, которых у пользователя нет дан отзыв.

В предыдущем сообщении мне сообщили, что это невозможно сделать через firebase. Поэтому я попытался сделать это на стороне клиента.

List<String> postIds = [];

await Firestore.instance
    .collection(APIPath.posts())
    .getDocuments()
    .then((postDocs) async {
  postDocs.documents.forEach((doc) async {

    print(doc.documentID);

    var feedbackDocs = await Firestore.instance
        .collection('posts')
        .document(doc.documentID)
        .collection('feedback')
        .getDocuments();

    var givenFeedback = false;
    feedbackDocs.documents.forEach((feedbackDoc) async {
      
    });


    print(givenFeedback);

    if (!givenFeedback) {
      postIds.add(doc.documentID);
    }
  });
});

print(postIds);

Моя идея заключалась в go через все сообщения и поиск отзывов для каждого сообщения. Если текущий пользователь «uid» отправил какое-либо сообщение, удалите это сообщение.

Но по какой-то причине я не получаю никаких данных в свой массив. Несмотря на то, что я не дал никаких отзывов ни по одному из сообщений.

Я добавил 2 оператора печати. ​​

1-й оператор печати 13 идентификаторов документов.

теперь ни один из этих почтовых документов не имеет отзывов. Так что я должен получить 13 ложных срабатываний. Но я получаю только 2 ложных вывода.

Я ожидал получить идентификатор почтового документа, а затем ложный вывод, подобный этому;

91ew6yx3yWaWGme31FTB
fasle
Aqq5HctlLudFFvqN8prm
false
...

Я получаю; Сначала я получаю 13 идентификаторов документов, затем 2 таких ложных вывода

91ew6yx3yWaWGme31FTB
Aqq5HctlLudFFvqN8prm
...
v39SkTkL8PwMOyPAE2QG

false
false

Похоже, что часть кода не запускается ... Есть ли правильный способ расположить этот код?

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