如何使用MongoDB findOne()与mongoose

时间:2015-05-25 13:37:11

标签: node.js mongodb mongoose mean-stack

我在使用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查询时为什么不呢?

1 个答案:

答案 0 :(得分:1)

路线中的参数为:fahrtId

router.get('/:fahrtId', fahrtenController.show);

但您正在尝试从fahrtenId

中检索值
req.params.fahrtenId