sql >> Databasteknik >  >> NoSQL >> MongoDB

välj 2 fält och returnera en sorterad array med deras distinkta värden

Du måste $group våra dokument och använd $push ackumulatoroperatör för att returnera en array av "a" och "b" inom samlingen.

I $project operatör du använder $setUnion operatör för att filtrera bort dubbletterna.

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

som producerar:

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


  1. Kan inte komma åt com.mongodb.MongoClientSettings - MongoDB Java-drivrutin 3.7+

  2. Hur man använder mongoose Promise - mongo

  3. Prestandajämförelse för att använda Redis-hashar kontra många nycklar

  4. Det gick inte att ansluta till MongoLab auth fails-fel