Stellen Sie sich vor, Sie verfügen über ein dynamisches Filtersystem für Ihre Buchsammlung, mit dem Benutzer nach Farbe, Autor und Kategorie filtern können. Um Filter mit Mehrfachauswahl (z. B. „Rot, Blau“ und „Abenteuer, Detektiv“) zu berücksichtigen, müssen Sie bedingte „Where“-Klauseln in Ihrer Firestore-Abfrage implementieren.
An Wenn Sie „where“-Klauseln bedingt hinzufügen möchten, müssen Sie mit der unveränderlichen Natur von Abfrageobjekten in Firestore arbeiten. Anstatt die vorhandene Abfrage zu ändern, erstellen Sie für jeden hinzugefügten Filter ein neues Abfrageobjekt:
<code class="javascript">var query = firebase.firestore().collection("book"); // Check for conditions and add filters accordingly if (colorFilter) { query = query.where("color", "==", colorFilter); } if (categoryFilter) { query = query.where("category", "==", categoryFilter); } // Apply sorting if needed if (orderBy) { query = query.orderBy(orderBy.field, orderBy.direction); } // Finalize the query and fetch results query.get().then(...);</code>
Indem Sie die Abfragevariable mit jedem neuen Filter kontinuierlich neu zuweisen, erstellen Sie eine Kette bedingter Abfragen, die sich dynamisch an Ihre Anforderungen anpassen Filterkriterien.
Das obige ist der detaillierte Inhalt vonWie implementiert man bedingte Filterung in Firestore mit mehreren Klauseln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!