MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wählen Sie 2 Felder aus und geben Sie ein sortiertes Array mit ihren unterschiedlichen Werten zurück

Sie müssen $group unsere Dokumente und verwenden Sie den $push Akkumulator-Operator, um ein Array von "a" und "b" innerhalb der Sammlung zurückzugeben.

Im $project Operator verwenden Sie den $setUnion Operator, um die Duplikate herauszufiltern.

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

was produziert:

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