我在使用MongoDB findOne()函数和mongoose时遇到了麻烦。
控制器
exports.show = function (req, res) {
Fahrt.load(req.params.fahrtenId, function (err, fahrt) {
res.jsonp(fahrt);
});
};
模型
FahrtSchema.statics = {
load: function (id, cb) {
this.findOne({
_id: id
}
).exec(cb);
}};
路线
router.get('/:fahrtId', fahrtenController.show);
app.js
app.use('/fahrten', fahrten);
当我使用Postman查询具有特定ID的“Fahrt”对象时,我得到“null”。当我直接通过
搜索Mongo控制台时db.Fahrt.findOne({"_id": ObjectId("5562ca06a14c4924090ba5ff")})
我得到一个现有的对象,一切都按预期进行。但是,当我通过Mongoose查询时为什么不呢?
答案 0 :(得分:1)
路线中的参数为:fahrtId
:
router.get('/:fahrtId', fahrtenController.show);
但您正在尝试从fahrtenId
req.params.fahrtenId