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

Wie kann ich den positiven und negativen Preis mit Mongodb oder Robomongo berechnen?

Sie können dies tun, indem Sie conditional sum verwenden und in eine andere Sammlung exportieren, verwenden Sie $out: collectionName

kann es versuchen :

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"}
])

NB: Ergebnis in Zusammenfassung exportiert Sammlung