MeanJS - 通过嵌套模型 ID 获取项目列表
MeanJS - get list of items by nested model id
我有一个用于存储剧集列表的小应用程序。我有 table 系列、四季和 table 剧集。 Table Seasons 得到了字段 "serie",它是 Serie 的 ObjectId 类型。现在我有 select 列表,其中包含系列项目列表,当我从下拉列表中选择一项时,方法 getSeasons 被触发,但我收到 400 Bad Request 错误。
我的文件:
- series.server.routes.js
app.route('/serie/:serieId/seasons')
.get(seasons.seasonsList);
- 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);
}
});
};
- 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);
}
});
};
我有一个用于存储剧集列表的小应用程序。我有 table 系列、四季和 table 剧集。 Table Seasons 得到了字段 "serie",它是 Serie 的 ObjectId 类型。现在我有 select 列表,其中包含系列项目列表,当我从下拉列表中选择一项时,方法 getSeasons 被触发,但我收到 400 Bad Request 错误。
我的文件:
- series.server.routes.js
app.route('/serie/:serieId/seasons')
.get(seasons.seasonsList);
- 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);
}
});
};
- 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);
}
});
};