Ich versuche immer noch, Meteor zu lernen, und möchte die durchschnittliche Punktzahl einer Person (basierend auf ihren zahlreichen Bewertungen) zurückgeben - ein Benutzer wird auf 4 Variablen bewertet werden, Und ich möchte ihre "Scorecard" mit Hilfe einer Hilfsfunktion zurückgeben.meteor .helper Funktion Eingangsparameter, um ein Objekt zurückzugeben
Was ist die beste (effizienteste) Möglichkeit, alle Benutzer in einer Datenbank aufzulisten (basierend auf einem bestimmten Filter) - mit Hilfe einer Hilfsfunktion?
meine Sammlung (Arbeiter):
{
"_id" : ObjectId("58d3dc44353972841db96049"),
"name" : "James",
"surname" : "Jones",
"createdAt" : ISODate("2017-03-23T14:31:32.512Z")
],
"Hist" : [
{
"itemDate" : "01/2017",
"skill" : "",
"review" : {
"client" : "101"
},
"traits" : {
"speed" : 3.0,
"distance" : 2.0,
"reliability" : 3.0,
"overall" : 4.0
}
}
]
}
meine Vorlage:
<template name="scoreCard" >
<table>
<tr>
<div class="col s3">Average Speed</div>
<div class="progress grey lighten-4">
<div class="determinate" style="width:{{aSpeed this.userId }}%">
<span class="amount">{{aSpeed this.userId}}</span>
</div>
</div>
</tr>
</table>
</template>
mein Helfer:
Template.scoreCard.helpers({
userSkills(userId){
return Workers.aggregate(
{$unwind:"$Hist"},
{$group: {
_id:ObjectId(userId),
aSpeed: { $avg: "$Hist.traits.speed"},
aDist: { $avg: "$Hist.traits.distance"},
aRel: { $avg: "$Hist.traits.reliability"},
aOver: { $avg: "$Hist.traits.overall"}
}
})
},
});
wie oben sehen ... ich richtig bin nicht vorbei die Benutzer-ID, um den tatsächlich definierten Durchschnitt pro Benutzer zurückzugeben?