$lt (Menor Que)
Última atualização: 2026-10-09
$lt (Menor Que)
$lt seleciona documentos onde o valor de um campo é estritamente menor que o valor especificado. `{ price: { $lt: 20 } }` corresponde a produtos com preço abaixo de 20. Ele lida com tetos de preço, datas-limite e limites de pontuação, e combina com $gt para um intervalo aberto. Strings são comparadas lexicograficamente, datas cronologicamente; $lt é sensível ao tipo.
| Categoria | Comparação |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ <campo>: { $lt: <valor> } }
⚙️ Parâmetros
| campo | O campo do documento a corresponder. |
|---|---|
| valor | O valor do limite superior; o próprio limite é excluído. |
Retorno:Cursor dos documentos correspondentes
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $lt: produtos com preço abaixo de 20
db.products.find({ price: { $lt: 20 } })
// Usuários registrados antes da data-limite
db.users.find({ registeredAt: { $lt: new Date('2026-01-01') } })
Saída:
// Retorna produtos abaixo de 20 e usuários registrados antes de 1º de janeiro de 2026
📌 Notas
- $lt exclui a fronteira; use $lte para incluí-la
- Combine $gt e $lt em um único campo para um intervalo aberto, ex.: { score: { $gt: 60, $lt: 90 } }
- Passar uma string de data diretamente compara lexicograficamente; use sempre new Date()
🏷️ Tags Relacionados
💡 Casos Relacionados
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QQual é a diferença entre $lt e $lte?
A$lt é estritamente menor (exclui a fronteira); $lte a inclui. Use $lt: 20 para abaixo de 20 e $lte: 20 para no máximo 20.
QComo consulto pontuações entre 60 e 90?
ACombine em um único campo: { score: { $gt: 60, $lt: 90 } } — um intervalo aberto.
QO que devo observar ao usar $lt em datas?
AEnvolva datas em new Date('AAAA-MM-DD'); strings cruas são comparadas lexicograficamente e podem surpreender.