抱歉问菜鸟问题(以下代码与 express 框架和 mongoose DB 相关联)
我正在尝试遍历包含用户名的数组“用户”,然后尝试在 mongoose 数据库中匹配它们以获取每个用户的学校和成绩。然后将它们组合到名为 UsersInfoFinal 的最终数组中。
var Users = ['peter', 'john'];
var UsersInfoFinal = [];
for (i = 0; i < Users.length; i++){
userModel.findOne ({username: Users[i]}, 'username school grade', function (error, UserInfo) {
UsersInfoFinal .push([UserInfo.username, UserInfo.school, UserInfo.grade]);
});
}
console.log(UsersInfoFinal );
控制台应该打印[[peter, MIT, 95], [john, Royal Academy, 89]]
,但是,控制台仍然打印[]
,变量 UsersInfoFinal 没有被修改。
这是为什么?有没有办法在循环后修改变量?请帮助我对node.js和MongoDB真的很陌生并且已经卡了几个小时:S
谢谢!