Я пытаюсь сделать приложение с mongodb и nodejs. Я сделал специальный маршрут с параметром :id
, и он работает хорошо.
И я сделал еще один маршрут получения, который имеет product/:category
. Когда я отправляю запрос на этот маршрут каждый раз, я получаю эту ошибку:
CastError: Cast to ObjectId failed for value "(here is my req.params.category)" at path "_id" for model "Product"
Мой маршрут таков:
// product is my model I called it in top of the file
app.get('product/:category', async (req, res)=>{
const productByCategory = await product.find({category: req.params.category});
res.json(productByCategory);
});
Когда я делаю запрос на получение маршрута выше, я получаю эту ошибку:
CastError: Cast to ObjectId failed for value "(here is my req.params.category)" at path "_id" for model "Product"
Моя модель продукта такова:
const ProductSchema = new mongoose.Schema({
title:{
type: String,
required: true
},
description:{
type: String,
min: 40,
required: true
},
category:{
type: String,
required: true
},
price:{
type: Number,
required: true
},
imageUrl:{
type: String,
required: true
},
quantity:{
type: Number,
required: true
},
comments: [{
type: Object
}],
seller: {
sellerId:{
type: String,
required: true
},
username:{
type: String,
required: true
},
shopName:{
type: String,
required: true
},
category:{
type: String,
required: true
}
},
location: {
type: "String",
required: true
},
date:{
type: Date,
default: Date.now
}
});
Как я могу решить эту проблему?