MeanJS - получить список товаров по вложенному идентификатору модели

0

У меня есть небольшое приложение для хранения списка эпизодов. У меня есть Серии Серий, Сезоны и Эпизод стола. Сезоны стола получили поле "серия", которое имеет тип ObjectId of Serie. Теперь у меня есть список выбора со списком элементов Serie, когда я выбираю один элемент из раскрывающегося списка, метод 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 плохих запросов... Почему?

Я хочу добиться того же, что и при вводе текста в монго:

    db.seasons.find({'serie': new ObjectId('SerieId')})
  • 0
    Попробуйте: $scope.serie._id вместо экземпляра.
  • 0
    @AdolAurion У меня есть правильный идентификатор. Дело не в ид. Это вопрос или я что-то упустил.
Показать ещё 1 комментарий
Теги:
mongoose
meanjs

1 ответ

0
Лучший ответ

Проблема была в параметрах. Решение проблемы состоит в том, чтобы изменить метод seasonsList, чтобы получить параметр from reqest следующим образом:

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);
    }
  });
};

Ещё вопросы

Сообщество Overcoder
Наверх
Меню