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

vælg 2 felter og returner et sorteret array med deres forskellige værdier

Du skal $group vores dokumenter og brug $push akkumulatoroperatør for at returnere en række af "a" og "b" i samlingen.

I $project operatør du bruger $setUnion operatør for at filtrere dubletterne fra.

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

som producerer:

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


  1. MongoDB-projektion af indlejrede arrays

  2. Mongooses standard løftebibliotek er forældet i MEAN stack

  3. Sådan gemmer du aggregeret katalogtræsøgeresultat i Redis

  4. Projekt et element returneret med $arrayElemAt