MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

sélectionner 2 champs et renvoyer un tableau trié avec leurs valeurs distinctes

Vous devez $group nos documents et utilisez le $push Opérateur d'accumulateur pour renvoyer un tableau de "a" et "b" dans la collection.

Dans le $project opérateur vous utilisez le $setUnion opérateur pour filtrer les doublons.

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

qui produit :

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