如果条件不在循环中工作
如果运行控制器文件时没有执行条件……
你正在把testing放在错误的地方。 循环在 map函数内部 。 用户login到控制台的位置超出了范围 。 如果你想检查每次它应该在地图function。
但是,如果您只想保留cpu <50的用户, 请首先使用Array.filter 。 您仍然可以loggingcpu <50项。 例如
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
行
你可以使用for循环。
for (var i = Users.length - 1; i >= 0; i--) { if (Users[i].cpu1 < 50) console.log('Value is less than 50'); };