Ich habe diese Aggregat-Publish-Funktion aus dem Meteor-reaktiven Aggregat-Paket. Ich versuche, alle Werte im Matches-Array zu aggregieren. Nicht sicher, wo in der Funktion muss ich das Array für die Aggregation angeben (Lesen der Dokumente ich bin mir nicht sicher, wo genau). Ich habe auch ein paar Dinge erfolglos ausprobiert.Aggregieren Sie alle Elemente eines Arrays in einem Objekt Mongo/Meteor
Veröffentlichen Aggregation
Meteor.publish('reportTotals', function() {
ReactiveAggregate(this, Players, [{
//grouping the items
$group: {
'_id': this.userId,
'score': {
$sum: '$score'
},
'assists': {
$sum: '$assists'
}
}
}, {
$project: {
score: '$score',
assists: '$assists'
}
}], {
clientCollection: 'playerReport'
});
});
Und dies ist ein Beispiel für ein Objekt, in dem es möglicherweise mehr Übereinstimmungen, die ich brauche, um die Partituren, hilft zu kompilieren, ect.
{ "_id": "WhrZCTtj9HHtDB3rs",
"name": "Test player",
"team": "TThqi8Wu6YJh6mapC",
"practicesAttended": 3,
"createdBy": "RKtpy532sgzbBpP4J",
"createdAt": "2016-05-29T16:26:47.837Z",
"notes": "Small test notes",
"itemImage": "Lfb27GnWXDRxfkajL",
"Matches": [
{
"match": "2016-05-21",
"score": 3,
"shotsTaken": 4,
"assists": 0,
"duelsWon": 4,
"duelsLost": 2,
"tacklesWon": 0,
"tacklesLost": 0,
"blocks": 51
}
]
}
Dank für diese schnelle Antwort. Wenn ich eine Hilfsfunktion erstelle, die die * playerReport * -Sammlung zurückgibt, spuckt die Konsole _ReferenceError: playerReport ist nicht definiert_. Ich habe * reportTotals * abonniert und das ist meine Funktion 'reportTotals: function() {return playerReport.find(); } vermisse ich etwas? –
und ja, die Sammlung ist erstellt und ich sehe es in Meteor Spielzeug, aus irgendeinem Grund kann ich es nicht in der Ansicht ziehen und eine {{#each reportTotals}} machen, um die {{score}} und {{hilft }} ... :( –