我有一个查询可以获取排行榜的前5位用户。在robomongo这个查询工作正常。将两个查询结果传递给响应
当我这样做
var leaderboard = User.find({points: {$exists: true}}, {
"firstname": 1,
"lastname": 1,
"points": 1
}).sort({points : -1}).limit(5)
console.log('leaderboard');
我得到了很多无意义的JSON与[对象]几乎无处不在。
我将如何执行这个查询与猫鼬用+表示这样我就可以通过该视图的
firstname, lastname, points
,所以我可以循环它通过在视图中的数组?
我完整的代码是
app.get('/dashboard', function(req, res){
if (req.user) {
// logged in
User.find({}, function(err, docs) {
// console.log(docs);
});
// Get total points after submit
var leaderboard = User.find({points: {$exists: true}}, {
"firstname": 1,
"lastname": 1,
"points": 1
}).sort({points : -1}).limit(5).toArray();
console.log(leaderboard);
User.find({
points: {
$exists: true
}
}, function(err, docs) {
if(err){
console.log(err);
//do error handling
}
//if no error, get the count and render it
var count = 0;
for (var i = 0; i < docs.length; i++) {
count += docs[i].points;
}
var totalpoints = count;
res.render('dashboard', {
title: 'Dashboard',
user: req.user,
totalpoints: totalpoints
});
});
} else {
// not logged in
return res.redirect('/login');
}
});
就像你在后面的代码做,你只能得到的结果在回调中。由于查询尚未执行,“无意义的[Object]”实际上就是“游标”定义。 –
是可以让它在相同的回调查询? – ServerSideSkittles