Firestore-Vergleichsoperatoren - enthält, enthält nicht, beginnt mit

8

Aus der Dokumentation "... Die Methode where () benötigt drei Parameter: ein zu filterndes Feld, eine Vergleichsoperation und einen Wert. Der Vergleich kann & lt ;, & lt; =, ==, & gt ;, oder & gt; = ... "

Die Abfragen, die wir ausführen müssen, sind:

  • ist gleich (==)
  • nicht gleich (???)
  • weniger als (& lt;)
  • größer als (& gt;)
  • kleiner als oder gleich (& lt; =)
  • größer als oder gleich (& gt; =)
  • enthält (???)
  • enthält nicht (???)
  • beginnt mit (???)

In dieser Frage wird vorgeschlagen, ein Volltextsuche wie Elastic oder Algolia. Ich brauche keine Volltextsuche - ich brauche nur diese grundlegenden Operatoren, um in den nominierten Feldern zu suchen. Aber das größere Problem, das ich habe, ist, dass meine App für beträchtliche Zeiträume offline ist und wir die Daten, die wir offline und offline benötigen, zwischenspeichern. Die Volltextsuche ist keine Option (außer wenn Sie die Enterprise ($$ $$$$) Lizenz von Algolia - aber scheint immer noch wie Overkill für das, was wir suchen).

Hat jemand von euch irgendwelche Lösungen für wo ("FIELD", "???", "string") wenn "???" ist "ungleich", "enthält", "enthält nicht" oder "beginnt mit"?

Irgendwelche Ideen dankbar geschätzt.

    
Stephen Crampton 09.11.2017, 06:18
quelle

1 Antwort

2

In Cloud Firestore gibt es keine systemeigenen Abfragen "Enthält", "Enthält keine", "Beginnt mit" oder "endet mit".

Sie können eine sehr begrenzte "Starts mit" -Abfrage mit < und > jedoch approximieren:

%Vor%     
Sam Stern 21.12.2017 00:19
quelle

Tags und Links