Mean.js - 使用URL作为Mongoose参数

时间:2015-08-15 14:00:40

标签: angularjs express

我想尝试做的是使用URL中的ArticleID,即文章/ 55cf3ea22440c5542c9fa333 作为过滤相关评论的参数。

控制器

categoryid    category
----------    --------
    3         Colors-Red-Bright
    4         Colors-Red-Medium
    6         Colors-Red-Dark-saturated
    7         Colors-Red-Dark-unsaturated
    10        Temperatures-cold-freezing
    11        Temperatures-cold-mild
    14        Temperatures-hot-burning-1st degree
    15        Temperatures-hot-burning-2nd degree

};

评论和文章与Stackoverflow上的帖子末尾的评论在同一页面上。网址为http://localhost:3000/#!/articles/55cf3ea22440c5542c9fa333

在控制器查询中有一种简单的方法吗?

路线

exports.list = function (req, res) {

Comment.find(

     {articleID: req.params.articleId}

)
    .sort('-created')
    .populate('user', 'displayName')
    .exec(function (err, comments) {

        if (err) {

            return res.status(400).send({

                message: errorHandler.getErrorMessage(err)
            });

        } else {

            res.jsonp(comments);
        }
    });

1 个答案:

答案 0 :(得分:1)

如果您使用$ routeProvider作为路由器,则可以使用以下命令访问您的参数:

您在网址中的路线和参数:

  $routeProvider
    .when('/:articleId', {  //The parameter you want get( articleID )
      templateUrl: 'views/article.html',
      controller: 'ArticleCtrl'
  })

在你的控制器中传递$ routeParams并使用:

获取参数
  $routeParams.articleID

编辑:

如果您使用的是$ stateProvider,则必须将$ stateParams传递给控制器​​,并使用以下命令获取params:

  $stateParams.articleID

我希望这是你需要的。