sql >> Databáze >  >> NoSQL >> MongoDB

Jak mohu vypočítat kladnou a zápornou cenu pomocí mongodb nebo robomongo?

Můžete to udělat pomocí conditional sum a export do jiné kolekce použijte $out: collectionName

můžete to zkusit :

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

Pozn.: výsledek exportován v souhrnu kolekce



  1. Redis / Node.js – 2 klienti (1 pub/sub) způsobující problémy se zápisy

  2. MongoDB najít ve sbírce s neznámým klíčem

  3. Více dotazů uvnitř dotazu mongodb

  4. Redis:je možné skončit platnost prvku v poli nebo tříděné sadě?