Hi guys,
I’m working on my first e-commerce project, backend part using Express.js.
I don’t see the errors when I try to “update categories”. I tested the other functionalities (findAll, findOne, create, delete) with Postman and all is working properly.
Can you help me pls. Thanks
This is my code (I share the line of code from the routes, models and controllers files):
------ categories.routes.js -------------
const router = require('express').Router();
const controller = require('../controllers/categories.controllers');
router.get('/', controller.findAll);
router.get('/:category_id', controller.findOne);
router.post('/createcat', controller.insert);
router.post('/updatecat', controller.update);
router.post('/deletecat', controller.delete);
module.exports = router;
----------- categories.models.js---------------
const mongoose = require('mongoose');
const categoriesSchema = new mongoose.Schema({
name: { type: String, unique: true, required: true },
image: { type: String, required: true }
});
module.exports = mongoose.model('categories', categoriesSchema);
---------- categories.controllers.js------------------
const Categories = require('../models/categories.models');
class CategoriesController {
async findAll(req, res){
try {
const categories = await Categories.find({});
res.send(categories)
}
catch(error){
res.send('Something went wrong', error)
}
}
async findOne(req, res){
let { category_id } = req.params;
try {
const category = await Categories.findOne({_id: category_id})
res.send(category)
}
catch(error){
res.send('Something went wrong', error)
}
}
async insert(req, res){
let { name, image } = req.body;
try {
const category = await Categories.create({name, image});
res.send(category)
}
catch(error){
res.send('Something went wrong', error)
}
}
async update(req, res){
let { category, newCategory } = req.body;
try {
const updated = await Categories.updateOne( { category }, { category:newCategory } );
res.send({updated})
}
catch(error){
res.send('Something went wrong', error)
}
}
async delete(req, res){
let { category } = req.body;
try {
const removed = await Categories.deleteOne( { category } );
res.send({removed});
}
catch(error){
res.send('Something went wrong', error)
}
}
}
module.exports = new CategoriesController