Heim > Web-Frontend > js-Tutorial > Wie konstruiere ich dynamische Abfragen mit bedingten Where-Klauseln in Firestore?

Wie konstruiere ich dynamische Abfragen mit bedingten Where-Klauseln in Firestore?

Barbara Streisand
Freigeben: 2024-10-22 14:42:26
Original
984 Leute haben es durchsucht

How to Construct Dynamic Queries with Conditional Where Clauses in Firestore?

Mehrere bedingte Where-Klauseln in Firestore

Diese Abfrage verfügt über mehrere Filter, ist jedoch unflexibel, da nur nach bestimmten Autorennamen gesucht wird. Um einen wirklich dynamischen Filter zu erstellen, der es Benutzern ermöglicht, mehrere Farben, Kategorien und Autoren auszuwählen, müssen Sie die Abfrage programmgesteuert erstellen und bedingte Anweisungen verwenden, um nach Bedarf Filter hinzuzufügen oder zu überspringen.

Lösung

Um bedingte Where-Klauseln zu verwenden, müssen Sie:

  1. Eine erste Abfrage erstellen und sie in einer Variablen speichern.
  2. Für jeden Filter Bedingung verwenden Sie eine if-Anweisung, um zu prüfen, ob der Filter angewendet werden soll. Wenn die Bedingung wahr ist, verwenden Sie query.where, um den Filter zur Abfrage hinzuzufügen.
  3. Wiederholen Sie Schritt 2 für alle anderen Filterbedingungen.
  4. Führen Sie abschließend die Abfrage mit query.get() aus. .

Hier ein Beispiel:

var query = firebase.firestore().collection("book");

if (condition_for_color) {
    query = query.where("color", "==", "value");
}

if (condition_for_category) {
    query = query.where("category", "==", "value");
}

if (condition_for_author) {
    query = query.where("author", "==", "value");
}

if (condition_for_ordering) {
    query = query.orderBy("date");
}

query.get().then(...);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie konstruiere ich dynamische Abfragen mit bedingten Where-Klauseln in Firestore?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage