sql >> Base de Datos >  >> NoSQL >> MongoDB

seleccione 2 campos y devuelva una matriz ordenada con sus valores distintos

Debe $group nuestros documentos y use el $push operador acumulador para devolver una matriz de "a" y "b" dentro de la colección.

En el $project operador utiliza el $setUnion operador para filtrar los duplicados.

db.coll.aggregate(
    [
        { "$group": { 
            "_id": null, 
            "a": { "$push": "$a" }, 
            "b": { "$push": "$b" } 
        }}, 
        { "$project": {
            "_id": 0, 
            "merged": { "$setUnion": [ "$a", "$b" ] } 
        }} 
    ]
)

que produce:

{ "merged" : [ 3, 2, 0, 1 ] }