Node.js 如何直接访问数据而不必每次在nodejs中使用each循环或任何循环?
下面是我每次都必须使用的代码,它工作得很好;意味着使用each循环,然后使用if else条件从mongoDB中存储的arraylist中获取特定元素Node.js 如何直接访问数据而不必每次在nodejs中使用each循环或任何循环?,node.js,arrays,express,mongoose,handlebars.js,Node.js,Arrays,Express,Mongoose,Handlebars.js,下面是我每次都必须使用的代码,它工作得很好;意味着使用each循环,然后使用if else条件从mongoDB中存储的arraylist中获取特定元素 Mongoose arrayList Addtasks data schema: Addtasks : [{ topic: String, words: Number, keywords: String, website: String, otherdetails: String, exampleR
Mongoose arrayList Addtasks data schema:
Addtasks : [{
topic: String,
words: Number,
keywords: String,
website: String,
otherdetails: String,
exampleRadios: String,
deadline: Date,
Date: String,
fileName: String,
Bigpaths:[]
}]
router.route('/profile/view/:id')
.get(function(req, res, next) {
User.findOne({_id: req.user.id}, function(err, dataUser) {
if (dataUser) {
dataUser.Addtasks.forEach(element => {
if(element._id == req.params.id)
{
res.render('viewTask',{mainData: element});
}
});
}
else {
res.render('error');
}
});
})
我已经尝试过这个代码,但不起作用。我可以知道为什么我们不能像通常那样直接使用Mongoose在express中获取特定数据吗?为什么这不起作用
router.route('/profile/view/:id')
.get(function(req, res, next) {
User.findOne({_id: req.user.id}, function(err, dataUser) {
if(dataUser.Addtasks[0].id == req.params.id)
{
res.render('viewTask',{mainData: dataUser.Addtasks[0].topic);
}
else {
res.render('error');
}
});
})
你能发布你收到的错误吗?你能发布你收到的错误吗?