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

MeanJS - get list of items by nested model id

我有一个用于存储剧集列表的小应用程序。我有 table 系列、四季和 table 剧集。 Table Seasons 得到了字段 "serie",它是 Serie 的 ObjectId 类型。现在我有 select 列表,其中包含系列项目列表,当我从下拉列表中选择一项时,方法 getSeasons 被触发,但我收到 400 Bad Request 错误。

我的文件:

  1. series.server.routes.js

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

  1. seasons.server.controller.js

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

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

但是尽管我设置了路由,但我收到了 400 个错误请求...这是为什么?

我想实现与我在 mongo 中键入时相同的结果:

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

问题出在参数上。问题的解决方案是更改 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);
    }
  });
};