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

представление базы данных Я пытался присвоить значение поля локальной переменной, но оно не работает

getData() async {
        String userId = 'userId';
        Firestore.instance.collection('user').document(userId).snapshots();
        var snapshot;
        var userDocument = snapshot.data;
        String _myAddress = userDocument["address"];
        return Firestore.instance
            .collection('letters')
            .where("source Box", isEqualTo: _myAddress)
            .snapshots();
      }

1 Ответ

0 голосов
/ 04 марта 2020

Вы должны прояснить свой вопрос, но я попытался исправить некоторые очевидные проблемы с вашим кодом.

getData() async {
        String userId = 'userId';
        var userDocument = await Firestore.instance.collection('user').document(userId).get();


        String _myAddress = userDocument["address"];
        return Firestore.instance
            .collection('letters')
            .where("source Box", isEqualTo: _myAddress)
            .snapshots();
      }
  • Вы можете получить один документ, если знаете идентификатор документа, позвонив по номеру * 1005. * get () напрямую
  • Вы не звонили в ожидании асинхронных запросов, так как в следующий раз вы должны ждать таких фьючерсов, чтобы получить результат. Чтобы больше узнать об async / await, я рекомендую прочитать this и многое другое на topi c.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...