As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
$slice
O operador de $slice atualização modifica uma matriz limitando seu tamanho. Quando usado com o $push operador, ele restringe o número de elementos em uma matriz, mantendo somente o número especificado dos elementos mais recentes ou mais antigos.
Parâmetros
-
field: o campo de matriz a ser modificado. -
count: Número máximo de elementos a serem mantidos. Valores positivos mantêm os primeiros N elementos, valores negativos mantêm os últimos N elementos.
Exemplo (MongoDB Shell)
O exemplo a seguir demonstra como usar o operador de $slice atualização com $push para manter uma matriz de tamanho fixo das pontuações recentes.
Crie documentos de amostra
db.students.insertOne({ _id: 1, name: "Alice", scores: [85, 90, 78] });
Exemplo de consulta
db.students.updateOne( { _id: 1 }, { $push: { scores: { $each: [92, 88], $slice: -3 } } } )
Saída
{
"_id" : 1,
"name" : "Alice",
"scores" : [ 78, 92, 88 ]
}
Neste exemplo, o $slice: -3 modificador mantém somente os últimos três elementos após inserir novos valores na matriz.
Exemplos de código
Para ver um exemplo de código para usar o operador de $slice atualização, escolha a guia do idioma que você deseja usar: