Как получить данные из firebase, используя дочернее значение в flutter?

# #firebase #flutter #dart

Вопрос:

Я хочу получить данные из firebase через значение «континент»

вот моя база данных

это мой код:

 DatabaseReference ref = FirebaseDatabase.instance
  .reference()
  .child("Country/")
  .orderByChild("continent")
  .equalTo("Asia");

  ref.once()
  .then((DataSnapshot datasnapshot) {
     datalist.clear();
     var keys=datasnapshot.value.keys;
     var values=datasnapshot.value;

     for(var key in keys) {
       Country data = new Country(
         values[key]['Country'],
         values[key]['continent'],
         values[key]['Capital'],
       );
     }
     datalist.add(data);
   }
 

что случилось?

Комментарии:

1. В чем заключается ошибка? у вас есть что-то, связанное с индексом?

Ответ №1:

 DatabaseReference ref = FirebaseDatabase.instance
  .reference()
  .child("Country/")
  .orderByChild("continent")
  .equalTo("Asia");

ref.once()
  .then((DataSnapshot snapshot) {
    Map<dynamic, dynamic> values = snapshot.value;
      values.forEach((key, values) {
        print(values["continent"]);
      });
  });
 

Комментарии:

1. Панашерия , спасибо, но я хочу получить только страну и столицу на континенте Азия , как это можно сделать?

2. этот ответ был помечен как некачественный, пожалуйста, улучшите ответ с дополнительной информацией и объяснением

3. @Adm у меня есть ответ на обновление, пожалуйста, проверьте его.

4. @Jayesh Pansheria Спасибо , все в порядке