Node.js 如何使用mongoose模型填充数组
我正在使用Nodejs制作一个简单的任务应用程序。当用户进入主页时,我会将用户的任务发送到前端。每个“用户”都有一个任务ID数组,用来区分哪个任务是他们的。当我尝试将每个任务推出到本地数组时,我总是得到一个空数组Node.js 如何使用mongoose模型填充数组,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,我正在使用Nodejs制作一个简单的任务应用程序。当用户进入主页时,我会将用户的任务发送到前端。每个“用户”都有一个任务ID数组,用来区分哪个任务是他们的。当我尝试将每个任务推出到本地数组时,我总是得到一个空数组 User.findById(req.session.passport.user, function(err, user){ if(err){ console.log(err); res.redirect("/login"); } else { va
User.findById(req.session.passport.user, function(err, user){
if(err){
console.log(err);
res.redirect("/login");
} else {
var tasks = new Array(user.tasks.length);
for(var i = 0; i < user.tasks.length; i++){
Task.findById( user.tasks[i] , function(err, task){
if(err){
console.log(err);
}
if(!tasks){
console.log("Couldn't find the task: " + user.tasks[i] );
} else {
console.log("Found task: " + task); //Tasks are always found
tasks.push(task); //<=== Not pushing?
}
});
}
console.log(tasks); // <====this is alwayse EMPTY
res.render("app-mobile", {user: user, tasks: tasks});
}
});
User.findById(req.session.passport.User,函数(err,User){
如果(错误){
控制台日志(err);
res.redirect(“/login”);
}否则{
var tasks=新数组(user.tasks.length);
对于(var i=0;i tasks.push(task);//您似乎在尝试查找给定ID数组的所有任务。您只需执行以下操作即可
Task.find({ _id: { $in: user.tasks }}, function (err, tasks) {
if (err) {
console.log(err);
}
if (!tasks){
console.log("Couldn't find the tasks");
}
console.log(tasks);
res.render("app-mobile", { user: user, tasks: tasks});
});
可能重复的