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

MongoDB:$skub et beregnet udtryk i en $gruppe

Du kan bruge en $cond ( http://docs.mongodb.org/manual/reference /aggregation/cond/#exp._S_cond ) til dette:

db.c.aggregate( [
    { $project: {
        k: '$k',
        color: {
            $cond: [ 
                { $eq: [ '$v', true ] }, 
                'red', 
                'green'
            ]
        }
    } },
    { $group: {
        _id: '$k',
        vals: { '$push': '$color' }
    } }
] )

Rediger

Som en anden redigering nævnte, har den faktisk brug for $eq til at fungere siden {'$v':true} er ikke evauleret som et korrekt udtryk.




  1. Mongodb server starter ikke op efter ændring af dbpath

  2. problemer med at bruge løfter med mongoose

  3. Hvordan administrerer jeg MongoDB-forbindelser i en Node.js-webapplikation?

  4. Twisted:hvorfor er det, at det at sende et udskudt tilbagekald til en udskudt tråd pludselig får tråden til at blokere?