首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nodejs Mongodb查询

Nodejs Mongodb查询
EN

Stack Overflow用户
提问于 2018-01-09 08:28:04
回答 1查看 37关注 0票数 0

我有个电影网站。在观看视频中,我想显示以下所有数据。

  1. 在视频收集中,我想得到
    • 所有字段按id。(有外键stars_ID)
    • 本周观看视频最多的前十名。
    • 20部同一明星的电影
    • 20部同级电影。

  1. 在星集中我想知道名字,profile_image
  2. 在注释集合中,我希望获得parent_id = video_id的所有字段

当前解决方案:

我得到所有的数据

代码语言:javascript
复制
// watch
app.get('/watch/:id', function(req, res, next){
    var id = req.params.id;
    videoMdl.getvideoById(req.params.id, function(err, data){
        if(err) throw err;
        res.render('video/views/watch',{
            title:data.title, 
            data:data,
        })

    })

})

// get video by id
module.exports.getvideoById = function(id, callback){
    videosModel.findById(id, callback);
}

如您所见,我只通过id从视频收集中获得数据。为了获取其他数据,我使用Angularjs,这对SEO是不好的,这就是为什么我不喜欢,并寻找更好的解决方案。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-01-10 05:32:44

这样啊,原来是这么回事

代码语言:javascript
复制
// get cast
    function getTopCast(req, res, next){
        castMdl.findTop({}, function(err, data){
            if(err) throw err;
            req.topCast = data;
            next();
        })
    }
    // get Video id
    function getVideoId(req, res, next){
    var id = req.params.id;
            videoMdl.getvideoById(id, function(err, data){
                if(err) throw err;
                req.video = data;
                next();
            })


    }
    // render
    function renderData(req, res, next){
        res.json({video:req.video, cast: req.topCast});
    }
    app.get('/xem/:id', getTopCast,getVideoId, renderData);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48164060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档