MeanJS - 通过嵌套模型ID获取项目列表
问题描述:
我有小应用程序存储剧集列表。我有表意甲,季节和表情节。 Table Seasons获得了Serie的ObjectId类型的字段“serie”。现在我已经选择了列表中的Serie项目,当我从下拉菜单中选择一个项目时,getSeasons方法被触发,但是我得到了400错误请求错误。MeanJS - 通过嵌套模型ID获取项目列表
我的文件:
- series.server.routes.js
app.route('/serie/:serieId/seasons')
.get(seasons.seasonsList);
- seasons.server.controller。 js
- episodes.client.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);
}
});
};
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')})
答
的问题是参数。对问题的解决办法是改变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);
}
});
};
尝试:'$ scope.serie._id'而不是实例。 – agastalver
@AdolAurion我有适当的ID。这不是关于Id。这是关于查询或我错过了一些东西。 – Tomasz
我实际上并不知道你在哪里创建这个功能。但它应该在你的node.js文件中(不是角),我通常也使用['Model.find()'](http://mongoosejs.com/docs/2.7.x/docs/query.html)函数,而不是'query'。核实。 – agastalver