Ich bin ein MongoDB-Noob also bitte nicht beurteilen, ob meine Frage dumm ist: P Ich versuche, einige Ergebnisse von MongoDB zu erstellen eine Tabelle, die prozentuelle Statistiken darüber zeigt, wie viel ich pro Tag an einem bestimmten Spiel spiele (alle Spiele zusammen pro Tag = 100%). Dies ist meine JSON Import für die Datenbank:MongoDB-Aggregation - Wie bekomme ich einen prozentualen Wert wie oft ein Ereignis pro Wochentag aufgetreten ist?
[
{"title":"GTA","date":"2017-11-13"},
{"title":"GTA","date":"2017-11-13"},
{"title":"BattleField","date":"2017-11-13"},
{"title":"BattleField","date":"2017-11-13"},
{"title":"BattleField","date":"2017-11-14"}
]
Ive geschrieben eine Aggregation, die die Ergebnisse nach Tagen gruppiert und gezählt, um die Gesamtmenge an mal ein Spiel für jeden Tag gespielt wurde ...:
db.games.aggregate([
{ $project: { _id: 0, date : { $dayOfWeek: "$date" }, "title":1} },
{ $group: { _id: {title: "$title", date: "$date"}, total: {$sum: 1} } },
{ $group: { _id: "$_id.date", types: {$addToSet: {title:"$_id.title", total: "$total"} } } }
])
... und das ist, was ich von MongoDB bekam jetzt:
/* 1 */
{
"_id" : 3,
"types" : [
{
"title" : "BattleField",
"total" : 1.0
}
]
},
/* 2 */
{
"_id" : 2,
"types" : [
{
"title" : "GTA",
"total" : 2.0
},
{
"title" : "BattleField",
"total" : 2.0
}
]
}
, was ich bekommen müssen, ist eine Tabelle, die wie folgt aussehen:
Monday Tuesday
GTA 50,00% 0%
BattleField 50,00% 100%
Könnten Sie mir bitte beraten, wie kann ich solche Prozent Ergebnisse von Mongo bekommen?
funktioniert perfekt! Danke:) – davidM