Meteor.publish
Funktionen sollten Cursor zurückgeben, aber hier geben Sie direkt eine Number
zurück, die die Gesamtzahl der Dokumente in Ihrer Tasks
Sammlung ist.
Das Zählen von Dokumenten in Meteor ist eine überraschend schwierigere Aufgabe als es scheint, wenn Sie es auf die richtige Art und Weise tun möchten: Verwenden einer Lösung, die sowohl elegant als auch effektiv ist.
Das Paket ros:publish-counts (eine Gabel von tmeasday:publish-counts) liefert genaue Zählungen für kleine Sammlungen (100-1000) oder „fast genau“ zählt für größere Sammlungen (Zehntausende), um die fastCount
Option.
Sie können es auf diese Weise verwenden:
// server-side publish (small collection)
Meteor.publish("tasks-count",function(){
Counts.publish(this,"tasks-count",Tasks.find());
});
// server-side publish (large collection)
Meteor.publish("tasks-count",function(){
Counts.publish(this,"tasks-count",Tasks.find(), {fastCount: true});
});
// client-side use
Template.myTemplate.helpers({
tasksCount:function(){
return Counts.get("tasks-count");
}
});
Sie werden sowie eine serverseitige maßen performant Implementierung eines clientseitigen reaktiven Zahl erhalten.
Dieses Problem wird in einer (gegen Entgelt) bullet proof Meteor Lektion, die ein Lesen empfohlen wird diskutiert: https://bulletproofmeteor.com/
ist gehören jene 'Tasks' Benutzern oder irgendetwas? Warum ich frage ist, dass Sie diese Zählung innerhalb der 'Benutzer'-Sammlung selbst beibehalten und von dort abrufen können – ajduke