filter an eine Suche oder einen Löschvorgang, um Dokumente anhand ihrer Metadaten abzugleichen.
{ "team": "support", "year": { "$gte": 2024 } }
Operatoren
| Operator | Trifft zu auf |
|---|---|
{ "key": value }, $eq | Gleich dem Wert; bei einem Array: enthält den Wert |
$in | Gleich einem beliebigen Wert aus einer Liste |
$ne, $nin | Ungleich dem Wert oder jedem Wert einer Liste (nur bei Suchen) |
$gt, $gte, $lt, $lte | Größer als, mindestens, kleiner als, höchstens |
$and, $or | Alle oder einen beliebigen aus einer Liste von Filtern |
Beispiele
| Filter | Trifft zu auf |
|---|---|
{ "tags": "billing" } | Dokumente, deren tags-Array billing enthält |
{ "lang": { "$in": ["en", "de"] } } | Englische oder deutsche Dokumente |
{ "$or": [{ "team": "support" }, { "year": { "$in": [2024, 2025] } }] } | Dokumente des Supports oder beliebige aus 2024 oder 2025 |
{ "published_at": { "$gte": "2025-06-01" } } | Dokumente, die am oder nach dem 1. Juni 2025 veröffentlicht wurden |
{ "file_id": "report.pdf" } | Eine hochgeladene Datei |
{ "file_id": "report.pdf", "page": 3 } | Seite 3 dieser Datei |
Regeln
| Regel | |
|---|---|
| Gleichheit | Vergleicht als Text: 3, 3.0 und "3" stimmen miteinander überein |
| Bereiche | Zahlen mit Zahlen, Strings mit Strings, Byte für Byte; schreiben Sie Datumsangaben als ISO 8601 in einem Format (2025-06-01 oder 2025-06-01T10:00:00Z) |
| Nie in einem Bereich | Boolesche Werte, Array-Elemente und Strings über 222 Bytes |
| Fehlende Schlüssel | Ein Dokument ohne den Schlüssel trifft auf $ne und $nin zu |
| Negationen | Eine, die die meisten Dokumente ausschließt, kann weniger Ergebnisse als top_k liefern |
| Größe | Bis zu 256 Bedingungen, bis zu 8 Ebenen verschachtelt; jedes $and, $or und mehrwertige $in zählt als eine |
| Listen | $in und $nin akzeptieren bis zu 255 Werte |
| Unbekannte Schlüssel | Werden nicht geprüft: Ein falsch geschriebener Schlüssel trifft auf nichts zu |
| Fehler | Ein ungültiger Filter gibt 400 invalid_filter zurück |