Sto cercando di passare attraverso il risultato di una query fino alla mia vista in Express. La query viene eseguita utilizzando mongodb che conta i punti totali degli utenti collettivi.Passa i dati alla vista in Express
Quando si tenta di passare attraverso il conteggio come variabile, ottengo
ReferenceError: /Sites/test/views/dashboard.ejs:76
che si riferisce al <% = totalpoints%> secondo me ejs. Di seguito è riportato il mio codice 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
});
});
Qualche idea su come posso passare il risultato della query?
Dubito che 'attese res.render' coltivano per il ciclo è stato completato – Vishnu
@ServerSideSkittles usare' User.aggregate' per trovare la somma dei punti invece di aggiungere in un ciclo for. http://mongoosejs.com/docs/api.html#aggregate-js – Vishnu
@Mahesh 'i cicli for' sono sincroni, quindi sì,' res.render() 'aspetterà". – robertklep