$natural (Ordem Física de Armazenamento)
Última atualização: 2026-10-09
$natural (Ordem Física de Armazenamento)
$natural retorna documentos na ordem física de armazenamento da coleção. `{ $natural: 1 }` para frente, `{ $natural: -1 }` para trás. Especialmente útil em coleções capped e para diagnósticos. Note que $natural não pode ser combinado com consultas que usam índices — ele solicita explicitamente uma varredura natural da coleção.
| Categoria | Projeção |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $natural: <1 ou -1> }
⚙️ Parâmetros
| direção | 1 para avançar, -1 para reverter. |
|---|
Retorno:Documentos na ordem de armazenamento físico
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $natural: logs na ordem de armazenamento
// Em coleções capped esta é a ordem de escrita
db.logs.find().sort({ $natural: -1 })
// Ordem para frente, primeiros 10
db.logs.find().sort({ $natural: 1 }).limit(10)
Saída:
// Retorna logs em ordem reversa (mais recentes primeiro); a segunda consulta pega os 10 primeiros na ordem direta
📌 Notas
- A ordem não é estável a longo prazo; compactação ou migração a altera
- Pode substituir a ordenação por _id em coleções capped
- Mutualmente exclusivo com consultas que usam índices
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QQual ordem $natural usa?
AA ordem física de armazenamento da coleção, geralmente próxima da ordem de inserção, mas não garantida.
Q$natural pode usar um índice?
ANão, é uma varredura natural sem índice, por design.
QQuando devo usar $natural?
APara logs de coleções capped e diagnósticos.