filter para uma busca ou uma exclusão para selecionar documentos pelos seus metadados.
{ "team": "support", "year": { "$gte": 2024 } }
Operadores
| Operador | Corresponde a |
|---|---|
{ "key": value }, $eq | Igual ao valor; em um array, contém o valor |
$in | Igual a qualquer valor de uma lista |
$ne, $nin | Diferente do valor, ou de todos de uma lista (apenas buscas) |
$gt, $gte, $lt, $lte | Maior que, no mínimo, menor que, no máximo |
$and, $or | Todos, ou qualquer um, de uma lista de filtros |
Exemplos
| Filtro | Corresponde a |
|---|---|
{ "tags": "billing" } | Documentos cujo array tags contém billing |
{ "lang": { "$in": ["en", "de"] } } | Documentos em inglês ou alemão |
{ "$or": [{ "team": "support" }, { "year": { "$in": [2024, 2025] } }] } | Documentos do suporte, ou qualquer um de 2024 ou 2025 |
{ "published_at": { "$gte": "2025-06-01" } } | Documentos publicados em 1º de junho de 2025 ou depois |
{ "file_id": "report.pdf" } | Um arquivo enviado |
{ "file_id": "report.pdf", "page": 3 } | A página 3 desse arquivo |
Regras
| Regra | |
|---|---|
| Igualdade | Compara como texto: 3, 3.0 e "3" correspondem entre si |
| Intervalos | Números com números, strings com strings, byte a byte; escreva datas em ISO 8601 em um único formato (2025-06-01 ou 2025-06-01T10:00:00Z) |
| Nunca em um intervalo | Booleanos, itens de array e strings acima de 222 bytes |
| Chaves ausentes | Um documento sem a chave corresponde a $ne e $nin |
| Negações | Uma que exclui a maioria dos documentos pode retornar menos resultados que top_k |
| Tamanho | Até 256 condições, aninhadas em até 8 níveis; cada $and, $or e $in com vários valores conta como uma |
| Listas | $in e $nin aceitam até 255 valores |
| Chaves desconhecidas | Não são verificadas: uma chave com erro de digitação não corresponde a nada |
| Erros | Um filtro inválido retorna 400 invalid_filter |