can't inset data using mongoose.here are the details.i am working in seperate directories
middleware.js code
import mongoose from "mongoose";
const connectDB=handler=> async(req,res)=>{
if(mongoose.connections[0].readyState){ //if already connection exist
return handler(req,res)
}
await mongoose.connect(process.env.MONGO_URI)
return handler(req,res)
}
export default connectDB;
Product Model Schema
const mongoose = require('mongoose');
main().catch(err => console.log(err));
const ProductSchema = new mongoose.Schema({
title:{type:String,required:true},
slug:{type:String,required:true,unique:true},
desc:{type:String,required:true},
img:{type:String,required:true},
category:{type:String,required:true},
size:{type:String},
color:{type:String},
price:{type:Number,required:true},
qtyInStocks:{type:Number,required:true},
},{timestamps:true});
mongoose.models={};
export default mongoose.model("Product",ProductSchema);
addproductapi code
import Product from "../../../models/Product";
import connectDB from "../../../middleware/mongoose";
const handler= async (req, res)=> {
if(req.method=='POST'){
for (let i = 0; i < req.body.lenght; i++) {
let p=new Product({
title:req.body[i].title,
slug:req.body[i].slug,
desc:req.body[i].desc,
img:req.body[i].img,
category:req.body[i].category,
size:req.body[i].size,
color:req.body[i].color,
price:req.body[i].price,
qtyInStocks:req.body[i].qtyInStocks
});
await p.save();
}
res.status(200).json({success:"Success"});
}
else{
res.status(400).json({error:"this method is not allowed"});
}
}
export default connectDB(handler)
get product api code
import Product from "../../../models/Product";
import connectDB from "../../../middleware/mongoose";
const handler= async (req, res)=> {
let products= await Product.find();
res.status(200).json({products});
}
export default connectDB(handler) //if our application not connected to db this line will connect us
Note: this code is creating database in mongodb compass with name products, addproducts api is working fine because thunder client returns status 200. Getproduct is returning 304 why I don’t know. i have check my code twice,thrice even i restart my server many times.
help me out please