Mongoose查询时Cast to ObjectId失败问题求助
Mongoose查询时Cast to ObjectId失败问题求助
大家好,我刚接触MongoDB,现在碰到一个问题想请教各位大佬!
我在访问接口 localhost:3000/api/v1/tours/1 的时候,出现了如下错误:
{ "status": "failure", "message": "Cast to ObjectId failed for value \"1\" (type string) at path \"_id\" for model \"Tour\"" }
对应的接口处理函数是这样的:
exports.getTour = async (req, res) => { try { const tour = await Tour.findById(req.params.id); res.status(200).json({ status: 'success', data: { tour } }); } catch (err) { res.status(404).json({ status: 'failure', message: err.message }); } };
这个函数本来应该返回指定ID的旅游数据,下面是我的Tour模型Schema:
const mongoose = require('mongoose'); const tourSchema = new mongoose.Schema({ name: { type: String, required: [true, 'A tour must have a name'], unique: true }, rating: { type: Number, default: 4.5 }, price: { type: Number, required: [true, 'A tour must have a price'] } }); const Tour = mongoose.model('Tour', tourSchema);
我的Atlas数据库里已经存在对应的Tour数据,但就是查不出来,有没有大佬能帮我看看问题出在哪呀?
备注:内容来源于stack exchange,提问作者Arvinder Katoch
相关产品推荐
相关产品推荐

