Ich versuche, das Ergebnis einer Abfrage zu meiner Ansicht in Express zu übergeben. Die Abfrage erfolgt mit mongodb, die die Gesamtpunkte der kollektiven Benutzer zählt.Übergeben von Daten an die Ansicht in Express
Wenn ich versuche, die Zählung durch eine Variable übergeben, ich
ReferenceError: /Sites/test/views/dashboard.ejs:76
, die auf <% bezieht = totalpoints%> in meiner ejs Ansicht. Unten ist mein Code in app.js
app.get('/dashboard', function(req, res) {
User.find({}, function(err, docs) {
console.log(docs);
});
User.find({
points: {
$exists: true
}
}, function(err, docs) {
var count = 0;
for (var i = 0; i < docs.length; i++) {
count += docs[i].points;
}
return count;
console.log('The total # of points is: ', count);
});
var totalpoints = count;
res.render('dashboard', {
title: 'Dashboard',
user: req.user,
totalpoints: totalpoints
});
});
Irgendwelche Ideen, wie ich durch das Abfrageergebnis passieren kann?
ich zweifle, ob 'res.render' wartet Schleife bebauen abgeschlossen ist – Vishnu
@ServerSideSkittles Verwenden' User.aggregate' für die Summe der Punkte zu finden, anstatt für Schleife in einem hinzuzufügen. http://mongoosejs.com/docs/api.html#aggregate-js – Vishnu
@Mahesh 'for' Schleifen sind synchron, also ja,' res.render() 'wird" warten ". – robertklep