Flutter - Firebase - Zapytanie według wartości elementu listy [duplikat]

Dec 31 2020

Mam listę dostępności i chciałbym zapytać na podstawie wartości, na przykład klucza 31, wynoszącej> 0. Nie znalazłem poprawnej składni, aby to się stało. Otrzymuję

flutter: Paths must not contain '~', '*', '/', '[', or ']'.

Czy jest sposób, aby to działało? Czy muszę ponownie przemyśleć zapytanie?

final Query nextSlot = FirebaseFirestore.instance
        .collection('locations')
        .where('availability{31}', isGreaterThan: 0);

..does not give error but gives 0 results..

        .where('availability[31]', isGreaterThan: 0);
        .where('availability/31', isGreaterThan: 0);
.. returns the format error.

Szczęśliwego Nowego Roku i dzięki!

Odpowiedzi

1 jaredbaszler Dec 31 2020 at 03:41

Jestem prawie pewien, że Firebase i Dart używają notacji kropkowej, więc potrzebujesz tego:

final Query nextSlot = FirebaseFirestore.instance
        .collection('locations')
        .where('availability.31', isGreaterThan: 0);