Bedingte $ sum in MongoDB
Meine Sammlung in Mongodb ähnelt der folgenden Tabelle in SQL:
Gefühle (Unternehmen, Gefühl)
Jetzt muss ich eine Abfrage wie folgt ausführen:
SELECT
Company,
SUM(CASE WHEN Sentiment >0 THEN Sentiment ELSE 0 END) AS SumPosSenti,
SUM(CASE WHEN Sentiment <0 THEN Sentiment ELSE 0 END) AS SumNegSenti
FROM Sentiments
GROUP BY Company
Was soll ich tun, um diese Abfrage in Mongo zu schreiben? Ich stecke bei folgender Frage fest:
db.Sentiments.aggregate(
{ $project: {_id:0, Company:1, Sentiment: 1} },
{ $group: {_id: "$Company", SumPosSenti: {$sum: ? }, SumNegSenti: {$sum: ? } } }
);