如何将 MongoDB findOne() 与猫鼬一起使用
How to use MongoDB findOne() with mongoose
我在将 MongoDB findOne() 函数与猫鼬一起使用时遇到问题。
控制器
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 查询时不呢?
你路由中的参数是:fahrtId
:
router.get('/:fahrtId', fahrtenController.show);
但是您正在尝试从 fahrtenId
中检索值:
req.params.fahrtenId
我在将 MongoDB findOne() 函数与猫鼬一起使用时遇到问题。
控制器
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 查询时不呢?
你路由中的参数是:fahrtId
:
router.get('/:fahrtId', fahrtenController.show);
但是您正在尝试从 fahrtenId
中检索值:
req.params.fahrtenId