我在将 MongoDB findOne() 函数与 mongoose 一起使用时遇到问题。
Controller
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 Console 搜索时
db.Fahrt.findOne({"_id": ObjectId("5562ca06a14c4924090ba5ff")})
我得到一个现有的对象,一切都按预期进行。但为什么当我通过 Mongoose 查询时不呢?
您的路由中的参数是:fahrtId
:
router.get('/:fahrtId', fahrtenController.show);
但是您正在尝试从 fahrtenId
检索值:
req.params.fahrtenId
我是一名优秀的程序员,十分优秀!