MeanJS - 通过嵌套模型ID获取项目列表

MeanJS - 通过嵌套模型ID获取项目列表

问题描述:

我有小应用程序存储剧集列表。我有表意甲,季节和表情节。 Table Seasons获得了Serie的ObjectId类型的字段“serie”。现在我已经选择了列表中的Serie项目,当我从下拉菜单中选择一个项目时,getSeasons方法被触发,但是我得到了400错误请求错误。MeanJS - 通过嵌套模型ID获取项目列表

我的文件:

  1. series.server.routes.js

app.route('/serie/:serieId/seasons') 
 
    .get(seasons.seasonsList);

  1. seasons.server.controller。 js
  2. exports.seasonsList = function(req, res, id) { 
     
        Season.find({'serie': id}).exec(function(err, series) { 
     
        if (err) { 
     
         return res.status(400).send({ 
     
         message: errorHandler.getErrorMessage(err) 
     
         }); 
     
        } else { 
     
         res.jsonp(series); 
     
        } 
     
        }); 
     
    };

    1. episodes.client.controller.js
    2.  var Seasons = $resource('/serie/:serieId/seasons', {serieId: '@id'}); 
       
           Seasons.get({'serieId': $scope.serie}, function (data) { 
       
            console.dir(data); 
       
           });

      但是,尽管我已经路由组我会有400个不好的要求...为什么?

      我想才达到,当我在蒙戈键入此一样的东西:

      db.seasons.find({'serie': new ObjectId('SerieId')})

    开始=>
开始=>
+0

尝试:'$ scope.serie._id'而不是实例。 – agastalver

+0

@AdolAurion我有适当的ID。这不是关于Id。这是关于查询或我错过了一些东西。 – Tomasz

+0

我实际上并不知道你在哪里创建这个功能。但它应该在你的node.js文件中(不是角),我通常也使用['Model.find()'](http://mongoosejs.com/docs/2.7.x/docs/query.html)函数,而不是'query'。核实。 – agastalver

的问题是参数。对问题的解决办法是改变seasonsList方法来获取参数从传请求是这样的:

exports.seasonsList = function(req, res) { 
 
    Season.find({'serie': req.params.serieId}).exec(function(err, series) { 
 
    if (err) { 
 
     return res.status(400).send({ 
 
     message: errorHandler.getErrorMessage(err) 
 
     }); 
 
    } else { 
 
     res.jsonp(series); 
 
    } 
 
    }); 
 
};