Flattern - Firebase - Abfrage nach Listenelementwert [Duplikat]

Dec 31 2020

Ich habe eine Liste der verfügbaren Funktionen und möchte eine Abfrage basierend auf dem Wert von beispielsweise Schlüssel 31 mit> 0 durchführen. Ich habe nicht die richtige Syntax gefunden, um dies zu erreichen. Ich erhalte

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

Gibt es eine Möglichkeit, dies zum Laufen zu bringen? Oder muss ich die Abfrage überdenken?

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.

Frohes neues Jahr und danke!

Antworten

1 jaredbaszler Dec 31 2020 at 03:41

Ich bin mir ziemlich sicher, dass Firebase und Dart die Punktnotation verwenden, also würden Sie Folgendes benötigen:

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