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

Betinget $sum i MongoDB

Som Sammaye foreslog, skal du bruge $cond aggregeringsprojektionsoperatør for at gøre dette:

db.Sentiments.aggregate(
    { $project: {
        _id: 0,
        Company: 1,
        PosSentiment: {$cond: [{$gt: ['$Sentiment', 0]}, '$Sentiment', 0]},
        NegSentiment: {$cond: [{$lt: ['$Sentiment', 0]}, '$Sentiment', 0]}
    }},
    { $group: {
        _id: "$Company",
        SumPosSentiment: {$sum: '$PosSentiment'},
        SumNegSentiment: {$sum: '$NegSentiment'}
    }});


  1. Tjek, om hvert element i arrayet matcher tilstanden

  2. MongoDB .NET-drivergruppe efter tidsinterval

  3. Spring Data Mongo - anvend unikke kombinationsfelter i indlejret dokument

  4. NoSQL (MongoDB) vs Lucene (eller Solr) som din database