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á.
$addToSet
O operador $addToSet de agregação retorna uma matriz de valores exclusivos de uma expressão especificada para cada grupo. Ele é usado dentro do $group estágio para acumular valores distintos, eliminando automaticamente as duplicatas.
Parâmetros
-
expression: a expressão a ser avaliada para cada documento no grupo.
Exemplo (MongoDB Shell)
O exemplo a seguir demonstra o uso do $addToSet operador para coletar cidades exclusivas onde os pedidos foram feitos para cada cliente.
Crie documentos de amostra
db.orders.insertMany([ { _id: 1, customer: "Alice", city: "Seattle", amount: 100 }, { _id: 2, customer: "Alice", city: "Portland", amount: 150 }, { _id: 3, customer: "Bob", city: "Seattle", amount: 200 }, { _id: 4, customer: "Alice", city: "Seattle", amount: 75 }, { _id: 5, customer: "Bob", city: "Boston", amount: 300 } ]);
Exemplo de consulta
db.orders.aggregate([ { $group: { _id: "$customer", cities: { $addToSet: "$city" } } } ]);
Saída
[
{ _id: 'Bob', cities: [ 'Seattle', 'Boston' ] },
{ _id: 'Alice', cities: [ 'Seattle', 'Portland' ] }
]
Exemplos de código
Para ver um exemplo de código para usar o operador de $addToSet agregação, escolha a guia do idioma que você deseja usar: