Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

$reverseArray (agregação)

Nesta página

  • Definição
  • Comportamento
  • Exemplo
$reverseArray

Aceita uma expressão de array como um argumento e retorna um array com os elementos em ordem inversa.

$reverseArray tem a seguintesintaxe de expressão do operador :

{ $reverseArray: <array expression> }

O argumento pode ser qualquer expressão válida, desde que seja resolvido para um array.

Se o argumento for resolvido para um valor de null ou se referir a um campo ausente, $reverseArray retornará null.

Se o argumento não se resolver em uma array ou null nem se referir a um campo ausente, $reverseArray retornará um erro.

$reverseArray retorna um array vazio quando o argumento é um array vazio.

Se o argumento contiver sub-arrays, $reverseArray somente operará nos elementos do array de nível superior e não reverterá o conteúdo de sub-arrays.

Exemplo [1]
Resultados
{ $reverseArray: { $literal: [ 1, 2, 3 ] } }
[ 3, 2, 1 ]
{ $reverseArray:
{ $slice: [ [ "foo", "bar", "baz", "qux" ], 1, 2 ] } }
}
[ "baz", "bar" ]
{ $reverseArray: null }
null
{ $reverseArray: { $literal: [ ] } }
[ ]
{ $reverseArray: { $literal: [ [ 1, 2, 3 ], [ 4, 5, 6 ] ] } }
[ [ 4, 5, 6 ], [ 1, 2, 3 ] ]
[1] Os exemplos na tabela usam um argumento literal. Para evitar analisar ambiguidade se o argumento literal for uma array, encapsule o array literal em uma expressão $literal ou mantenha o array externo que designa a lista de argumentos (por exemplo, [ [ 1, 2, 3 ] ]) para passar o array literal [1, 2, 3].

Uma coleção chamada users contém os seguintes documentos:

{ "_id" : 1, "name" : "dave123", "favorites" : [ "chocolate", "cake", "butter", "apples" ] }
{ "_id" : 2, "name" : "li", "favorites" : [ "apples", "pudding", "pie" ] }
{ "_id" : 3, "name" : "ahn", "favorites" : [ ] }
{ "_id" : 4, "name" : "ty" }

O exemplo seguinte retorna um array contendo os elementos do array favorites em ordem reversa:

db.users.aggregate([
{
$project:
{
name: 1,
reverseFavorites: { $reverseArray: "$favorites" }
}
}
])

A operação retorna os seguintes resultados:

{ "_id" : 1, "name" : "dave123", "reverseFavorites" : [ "apples", "butter", "cake", "chocolate" ] }
{ "_id" : 2, "name" : "li", "reverseFavorites" : [ "pie", "pudding", "apples" ] }
{ "_id" : 3, "name" : "ahn", "reverseFavorites" : [ ] }
{ "_id" : 4, "name" : "ty", "reverseFavorites" : null }

Voltar

$replaceAll