Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
$setUnion
El operador de $setUnion agregación de Amazon DocumentDB se utiliza para combinar dos o más conjuntos de valores y devolver un conjunto que contiene todos los elementos únicos de los conjuntos de entrada. Este operador resulta útil cuando necesita realizar operaciones basadas en conjuntos en campos matriciales de sus documentos.
Parámetros
-
expression1: expresión que se convierte en una matriz. -
expression2: expresión que se convierte en una matriz. -
expressionN: Expresiones adicionales que se convierten en matrices (opcional).
Ejemplo (MongoDB Shell)
El siguiente ejemplo muestra cómo utilizar el $setUnion operador para combinar los elementos únicos de dos campos de matriz de una colección.
Cree documentos de muestra
db.users.insertMany([ { _id: 1, name: "Alice", hobbies: ["reading", "swimming"], skills: ["coding", "writing"] }, { _id: 2, name: "Bob", hobbies: ["cooking", "gardening"], skills: ["coding", "photography"] }, { _id: 3, name: "Charlie", hobbies: ["reading", "painting"], skills: ["gardening", "music"] } ]);
Ejemplo de consulta
db.users.aggregate([ { $project: { name: 1, allInterests: { $setUnion: ["$hobbies", "$skills"] } } } ]);
Salida
[
{ "_id" : 1, "name" : "Alice", "allInterests" : [ "coding", "reading", "swimming", "writing" ] },
{ "_id" : 2, "name" : "Bob", "allInterests" : [ "coding", "cooking", "gardening", "photography" ] },
{ "_id" : 3, "name" : "Charlie", "allInterests" : [ "gardening", "music", "painting", "reading" ] }
]
En este ejemplo, el $setUnion operador se utiliza para combinar los elementos únicos de los campos hobbies y skills matriz de cada documento de usuario. El allInterests campo resultante contiene la unión de todas las aficiones y habilidades únicas de cada usuario.
Ejemplos de código
Para ver un ejemplo de código para usar el $setUnion comando, elija la pestaña correspondiente al idioma que desee usar: