filter a una ricerca o a un’eliminazione per trovare i documenti in base ai loro metadati.
{ "team": "support", "year": { "$gte": 2024 } }
Operatori
| Operatore | Corrisponde a |
|---|---|
{ "key": value }, $eq | Uguale al valore; su un array, contiene il valore |
$in | Uguale a uno qualsiasi dei valori di una lista |
$ne, $nin | Diverso dal valore, o da tutti quelli di una lista (solo ricerche) |
$gt, $gte, $lt, $lte | Maggiore di, almeno, minore di, al massimo |
$and, $or | Tutti, o uno qualsiasi, di una lista di filtri |
Esempi
| Filtro | Corrisponde a |
|---|---|
{ "tags": "billing" } | Documenti il cui array tags contiene billing |
{ "lang": { "$in": ["en", "de"] } } | Documenti in inglese o in tedesco |
{ "$or": [{ "team": "support" }, { "year": { "$in": [2024, 2025] } }] } | Documenti del team support, o qualsiasi documento del 2024 o del 2025 |
{ "published_at": { "$gte": "2025-06-01" } } | Documenti pubblicati dal 1° giugno 2025 in poi |
{ "file_id": "report.pdf" } | Un file caricato |
{ "file_id": "report.pdf", "page": 3 } | La pagina 3 di quel file |
Regole
| Regola | |
|---|---|
| Uguaglianza | Confronta come testo: 3, 3.0 e "3" corrispondono tra loro |
| Intervalli | Numeri con numeri, stringhe con stringhe, byte per byte; scrivi le date in ISO 8601 in un unico formato (2025-06-01 o 2025-06-01T10:00:00Z) |
| Mai in un intervallo | Booleani, elementi di array e stringhe oltre 222 byte |
| Chiavi mancanti | Un documento senza la chiave corrisponde a $ne e $nin |
| Negazioni | Una che esclude la maggior parte dei documenti può restituire meno risultati di top_k |
| Dimensione | Fino a 256 condizioni, annidate fino a 8 livelli; ogni $and, $or e $in multivalore conta uno |
| Liste | $in e $nin accettano fino a 255 valori |
| Chiavi sconosciute | Non vengono verificate: una chiave scritta male non corrisponde a nulla |
| Errori | Un filtro non valido restituisce 400 invalid_filter |