sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur kan jag beräkna positivt och negativt pris med mongodb eller robomongo?

Du kan göra det genom att använda conditional sum och exportera i en annan samling använd $out: collectionName

kan prova det :

db.getCollection('userpricing').aggregate([
    {$group: {
        _id:"$user_id", 
        user_id: {$first: "$user_id"}, 
        Totalpositiveprice:{$sum:{$cond:[{ '$gt': ['$price', 0]}, "$price", 0]}}, 
        Totalnegativeprice:{$sum:{$cond:[{ '$lt': ['$price', 0]}, "$price", 0]}},
        Balanceprice:{"$sum":"$price"}}
     },
     {$project: {_id:0, user_id:1, Totalpositiveprice:1, Totalnegativeprice:1, Balanceprice:1}},
     {$out: "summary"}
])

Obs: resultat exporterat i sammanfattning samling



  1. MongoDb-autentisering med Hibernate OGM

  2. Söksträng med specialtecken i MongoDB-dokument

  3. Ember-data inbäddade objekt lagrade som separata objekt

  4. MongoDb regional replikuppsättning - primär nod i varje region?