如何直接访问数据而不在nodejs中每次都使用每个循环或每次循环?

问题描述

下面是我每次都必须使用的代码,它工作正常;表示使用每个循环,然后使用if-else条件从mongoDB中存储的数组列表中获取特定元素。

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直接获取特定数据?为什么这不起作用?

router.route('/profile/view/:id')
.get(function(req,dataUser) {
    
            if(dataUser.Addtasks[0].id == req.params.id)
            {
            res.render('viewTask',{mainData: dataUser.Addtasks[0].topic);
          }
   else {
          res.render('error');
        }
    
    }); 
        })

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)