无法在mongoose中找到id的记录

时间:2017-01-19 06:58:50

标签: node.js express mongoose meanjs

我试图通过id找到记录,但它没有完成

var id = req.param('id');
var item = {
    '_id': id
}
videos.find(item, function(error, response) {});

我已经提供了有效的身份证明,但仍然没有提取,请有人建议帮助。

2 个答案:

答案 0 :(得分:2)

find()提供了一个回调,但在上面的代码中,它没有可执行语句。而不是:

videos.find(item, function(error, response) {});

......做这样的事情:

videos.find(item, function(error, response) {
  if (error) {
    console.log(error); // replace with real error handling
    return;
  }
  console.log(response); // replace with real data handling
});

答案 1 :(得分:2)

您必须使用回调来进行错误处理。并且 find()返回数组。如果您需要通过唯一键(在本例中为_id)查找用户,则必须使用 findOne()

router.get('/GetVideoByID/:id',function(req,res){
    var id = req.params.id;
    var video = {
        '_id' : id
    }
    videos.findOne(video,function(err,data){
        if(err){
            console.log(err);
        }else{
            console.log("Video found");
            res.json(data);
        }
    });
});