Tôi đang cố gắng chuyển qua kết quả truy vấn thông qua chế độ xem của tôi trong Express. Truy vấn được thực hiện bằng cách sử dụng mongodb tính tổng số điểm của người dùng tập thể.Chuyển dữ liệu đến chế độ xem trong Express
Khi tôi cố gắng vượt qua số lượng thông qua như là một biến, tôi nhận được
ReferenceError: /Sites/test/views/dashboard.ejs:76
đó đề cập đến <% = totalpoints%> theo quan điểm của tôi EJS. Dưới đây là mã của tôi trong 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
});
});
Bất kỳ ý tưởng nào tôi có thể chuyển kết quả truy vấn qua?
Tôi nghi ngờ liệu 'chờ đợi res.render' cày vòng lặp for được hoàn thành – Vishnu
@ServerSideSkittles Sử dụng 'User.aggregate' cho việc tìm kiếm tổng điểm thay vì thêm vào một vòng lặp for. http://mongoosejs.com/docs/api.html#aggregate-js – Vishnu
@Mahesh 'for' loops là đồng bộ, vì vậy có,' res.render() 'sẽ" chờ ". – robertklep