如果在运行控制器文件时没有执行条件......
答案 0 :(得分:2)
您将测试放在错误的位置。循环在地图函数中。在您登录控制台的位置,用户超出范围。如果你想每次检查它应该在map函数中。
但是,如果你想只保留那些用cpu< 50首先使用 Array.filter 。你仍然可以记录cpu< 50项。 e.g。
app.get('/view', function (req, res) {
User.aggregate(
{ $match: { "Host.Host_name": { $in: ["redhat1", "redhat2"] }}},
{ $group: { _id: "$Host.Host_name",cpu1:{ $last:'$CPU.CPU_Free'}}})
.exec(function (err,docs){
if (err) return handleError(err);
var Users = docs
.filter(function (User) {return User.cpu1 < 50; })
.map(function (User){
console.log('Value is less than 50');
return {
host: User._id,
cf: User.cpu1
}
});
res.render('index',{Users: Users});
});
});
如果要将所有用户都返回到/ view端点,请注释掉.filter
行
答案 1 :(得分:0)
你可以使用for循环。
for (var i = Users.length - 1; i >= 0; i--) {
if (Users[i].cpu1 < 50)
console.log('Value is less than 50');
};