$sample (Amostra Aleatória)
Última atualização: 2026-10-09
$sample (Amostra Aleatória)
$sample seleciona aleatoriamente um número especificado de documentos — útil para amostragem de análise, dados de teste ou escolhas aleatórias. Ele pode não varrer a coleção inteira e a aleatoriedade não é perfeitamente uniforme, então trate-o como uma amostra aleatória aproximada. A ordem de saída é aleatória.
| Categoria | Estágios Principais |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $sample: { size: <inteiro positivo> } }
⚙️ Parâmetros
| size | Número de documentos a amostrar; deve ser um inteiro positivo. |
|---|
Retorno:Fluxo de documentos amostrado aleatoriamente
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $sample: escolhe 5 usuários aleatórios
db.users.aggregate([
{ $sample: { size: 5 } }
])
Saída:
// O resultado pode diferir a cada execução
📌 Notas
- A amostragem não é estritamente uniforme; execuções repetidas diferem
- size deve ser um inteiro positivo
- Diferente de $limit, a seleção é aleatória com ordem imprevisível
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
Q$sample é uniformemente aleatório?
ANão estritamente uniforme; ele usa um mecanismo pseudo-aleatório adequado para amostragem aproximada e testes.
QQual é a diferença entre $sample e $limit?
A$limit pega os primeiros N na ordem do pipeline; $sample escolhe N aleatoriamente sem ordem garantida.
Q$sample pode seguir $match?
ASim. $sample é um estágio regular e pode amostrar resultados filtrados.