MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

selezionare 2 campi e restituire una matrice ordinata con i loro valori distinti

Devi $group i nostri documenti e utilizzare il $push accumulatore per restituire un array di "a" e "b" all'interno della raccolta.

Nel $project operatore utilizzi $setUnion operatore per filtrare i duplicati.

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

che produce:

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