$sort (Ordenar Array, Atualização)

Última atualização: 2026-10-09

$sort (Ordenar Array, Atualização)

$sort como modificador de atualização ordena os elementos do array após $push. `{ $push: { scores: { $each: [85], $sort: -1 } } }` ordena em ordem decrescente. Compose com $slice para ordenar e depois cortar, mantendo o Top N. É apenas um modificador de atualização de array, distinto do método sort() de consulta.

CategoriaModificador de Atualização
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $push: { <campo de array>: { $each: [ <valor> ], $sort: <1 ou -1> } } }

⚙️ Parâmetros

campo de arrayO campo de matriz a ordenar.
direção de ordenação1 ascendente, -1 descendente.

Retorno:O resultado da atualização

▶ Exemplo

Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):

// $sort: ordena em ordem decrescente após push
// 1 crescente, -1 decrescente
db.rankings.updateOne(
  { _id: 1 },
  { $push: { scores: { $each: [85], $sort: -1 } } }
)

// Com $slice: mantém o Top 3
db.rankings.updateOne(
  { _id: 1 },
  { $push: { scores: { $each: [85], $sort: -1, $slice: 3 } } }
)

Saída:

// scores é ordenado em ordem decrescente após acrescentar; a segunda consulta corta para o Top 3

📌 Notas

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQual é a diferença entre o $sort de atualização e o sort() de consulta?
AO $sort de atualização ordena os elementos do array; sort() ordena os documentos retornados.
QComo $sort e $slice combinam?
A$push: { $each: [...], $sort: -1, $slice: 10 } — ordena primeiro, depois corta.
QEle pode ordenar por um campo aninhado?
ASim, $sort suporta a forma de objeto { campo: 1 }.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%