Firebase: использовать несколько дочерних элементов в DatabaseReference

Мне нужно сделать несколько запросов, поле .child() в FirebaseDatabase.instance.reference()

Например, я хочу, чтобы это работало так:

         final _itemRef2 = FirebaseDatabase.instance
         .reference()
         .child('lists')
         .child('-Mdso4T8PFejXPXjVhpW','-MdshmYfuEeZWK_hNwZe','-Mdsi6vSVHAmRbxoELNm')
         .child('items');

Конечно, не работает ????

Я не понимаю, как использовать список значений в .child? Какое решение следует использовать?

Затем я хочу использовать _itemRef2 в FirebaseAnimatedList следующим образом:

          Flexible(
           child: FirebaseAnimatedList(
             query: _itemRef2,
               itemBuilder: (BuildContext context,
                             DataSnapshot snapshot,
                             Animation<double> animation,
                             int index) {
                             return ListTile(

person WestDay    schedule 17.07.2021    source источник
comment
Привет, WestDay, не могли бы вы поделиться кодами вместо изображений?   -  person Ticherhaz FreePalestine    schedule 17.07.2021


Ответы (1)


Вы не можете передавать несколько значений в child таким образом. Вам придется делать отдельные запросы для каждого узла

final databaseReference = FirebaseDatabase.instance.reference().child("lists");
     
databaseReference.child("list_id_1").once(),
databaseReference.child("list_id_2").once()

Вы можете попробовать использовать Future.wait() для запуска всех Фьючерсы одновременно.

person Dharmaraj    schedule 17.07.2021
comment
Ok. И как его правильно использовать в FirebaseAnimatedList()? - person WestDay; 17.07.2021
comment
@WestDay есть ли какой-то конкретный запрос, который вы пытаетесь сделать? Например, есть ли какое-либо общее свойство в этих трех списках? Тогда вы можете использовать .equalTo в этом случае. В противном случае этот ответ объясняет использование FutureBuilder в FirebaseAnimatedList. - person Dharmaraj; 17.07.2021