Как получить список из магазина, используя пункт where - PullRequest
0 голосов
/ 26 января 2019

Я использую dart, чтобы запросить мою коллекцию в firestore, чтобы получить список строк.Вот структура пожарного депо:

FireStore List

Вот мой код:

  Future getIngredients() async {
        var firestore = Firestore.instance;
        List<String> ingredients = new List<String>();
        // this will return exactly one document every time. 
        CollectionReference col = firestore.collection("ingredients");
        Query query = col.where('name', isEqualTo: widget.dish_name.toString().toLowerCase());
    // How do I retrieve the ingredient list?
} 

Есть идеи?

Обновление

Вот что я сделал после перехода по этой ссылке.

Future getIngredients() async {

    var list = [];
    Firestore.instance
        .collection('ingredients')
        .where("name", isEqualTo: widget.dish_name.toString().toLowerCase())
        .snapshots()
        .listen((data) =>
        data.documents.forEach((doc) => list.add(doc["ingredients"])));

       print("First item is" + list[0]);
     return list;
  }

Однако список кажется пустым.Однако, когда я печатаю (doc ["ингридиенты"]) , я получаю все данные.Что я делаю неправильно?

Второе обновление

Итак, мне удалось получить данные, и теперь я пытаюсь отобразить их с помощью следующего кода:

new ListView.builder(
                  itemExtent: 90,
                  itemCount: snapshot.data.length,
                  itemBuilder: (BuildContext context, int index) {

                      return SingleIngredient(
                        ingredient_name: snapshot.data[index].data["ingredients"],

                      );


                  });

ОднакоЯ получаю следующую ошибку:

У класса 'QuerySnapshot' нет получателя экземпляра 'length'.I / flutter (31722): получатель: экземпляр 'QuerySnapshot' I / flutter (31722): пробный вызов: длина

Есть идеи, как перебрать список ингредиентов?

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