Mean.js查询var无效

时间:2016-06-06 09:56:05

标签: javascript angularjs node.js mongodb mean-stack

我使用Mean.js创建博客,我用npm安装它,我创建了crud模块评论来评论每篇文章,我用article id保存了一些评论作为参考。我在服务器上创建api路由。

  // Comments Routes
 app.route('/api/comments/:articleId').all()
    .get(comments.listbyArticle);
服务器cotroller上的

    exports.listbyArticle = function(req, res) {

    Comment.find( {article : req.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);
       }
     });
   };

但导航到此路线时

http://localhost:3000/api/comments/57550c21612bc90478333017

它会回复所有评论,除​​非是本文ID,如果我硬编码('57550c21612bc90478333017')文章ID而不是req.articleId。然后回复会向我显示正确的评论。

请告诉我有什么问题?

1 个答案:

答案 0 :(得分:0)

您应该使用 req.params 访问网址中的articleId:

exports.listbyArticle = function(req, res) {
    var articleId = req.params.articleId;
    Comment.find( {article: 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);
                }
            });
};