【发布时间】:2023-04-04 09:44:01
【问题描述】:
我有一个用于存储剧集列表的小应用程序。我有表 Serie、Seasons 和表 Episode。 Table Seasons 的字段“serie”是 Serie 的 ObjectId 类型。现在我有一个带有 Serie 项目列表的选择列表,当我从下拉列表中选择一个项目时,方法 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')})
【问题讨论】:
-
尝试:
$scope.serie._id而不是实例。 -
@AdolAurion 我有正确的 ID。这与身份无关。这是关于查询或我错过了什么。
-
我实际上不知道你在哪里创建这个函数。但它应该在你的 node.js 文件中(不是角度的),我通常使用
Model.find()函数,而不是query。检查一下。
标签: javascript angularjs mongodb mongoose meanjs