$position (Definir Posição de Inserção)

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

$position (Definir Posição de Inserção)

$position define onde $push insere elementos. `{ $push: { items: { $each: ['x'], $position: 0 } } }` insere no início. Posições começam em 0; valores negativos contam a partir do fim (-1 insere antes do último elemento). Ele deve ser usado dentro de $push com $each e compõe com $slice para limitar o tamanho do array.

CategoriaModificador de Atualização
Versão do MongoDB2.6+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $push: { <campo de array>: { $each: [ <valor> ], $position: <posição> } } }

⚙️ Parâmetros

campo de arrayO campo de matriz no qual inserir.
posiçãoO índice de inserção, começando em 0; negativos contam a partir do fim.

Retorno:O resultado da atualização

▶ Exemplo

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

// $position: insere no início do array
// Posições começam em 0
db.tasks.updateOne(
  { _id: 1 },
  { $push: { queue: { $each: ['urgent'], $position: 0 } } }
)

// Negativo: insere antes do último elemento
db.tasks.updateOne(
  { _id: 1 },
  { $push: { queue: { $each: ['normal'], $position: -1 } } }
)

Saída:

// urgent cai na frente; normal cai antes do último elemento

📌 Notas

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

Q$position deve ser combinado com $each?
ASim, $position funciona apenas dentro de $push junto com $each.
QO que significa $position: 0?
AInserir no início do array (índice 0).
Q$position suporta negativos?
ASim, -1 insere antes do último elemento.
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%