Запрос Firestore по подполю, Flutter - PullRequest
0 голосов
/ 01 августа 2020

У меня такая схема:

введите описание изображения здесь

Я хочу: числа со спецификацией c clientUid или clientUid not null, я написал этот код, но не работает:

 void getNumbers({int haveClient}) {
    Firestore.instance
        .collection('Numbers')
        .where('numbers.clientUid', isNull: false)
        .snapshots()
        .listen((event) {
      setState(() {
        _numbers = event.documents
            .firstWhere(
                (element) => element.documentID == 'NMafOXZZ7QWLOvegpiCdSpyhTYG3')
            .data;
      });
    });
  }

любая помощь, спасибо

1 Ответ

2 голосов
/ 01 августа 2020

Я написал статью о сохранении и извлечении вложенных объектов во Flutter, которую вы можете найти здесь (Обработка вложенных объектов в Firestore с помощью Flutter) .

Короче говоря, вы не можете делать запросы на основе вложенного поля. Вместо этого вам придется загрузить весь документ в этой коллекции и l oop через них на клиенте, или вы можете реструктурировать свою базу данных так, чтобы clientID находился в массиве верхнего уровня.

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