Estoy creando la aplicación web Next Js y browesr muestra un error de tipo en la séptima línea en el primer bloque de código. El error está en Product.find ()
TypeError: models_Products__WEBPACK_IMPORTED_MODULE_1 _.default.find no es una función
6 | const handler = async (req, res) => { > 7 | let products = await Product.find(); | ^ 8 | 9 | res.status(200).json({ products }); 10 | };**Esta es mi base de datos de mongodb**
import mongoose from "mongoose"; const connectDb = (handler) => async (req, res) => { if (mongoose.connections[0].readyState) { return handler(req, res); } await mongoose.connect(process.env.MONGO_URI); return handler(req, res); }; export default connectDb; `Esta es la conexión de mi base de datos a la próxima aplicación js en la carpeta api
import connectDb from "../../database"; import Product from "../../models/Products"; const handler = async (req, res) => { let products = await Product.find(); res.status(200).json({ products }); }; export default connectDb(handler);* Este es el esquema de mi producto
const mongoose=require("mongoose") const productSchema=new mongoose.Schema({ title:{ type:String, required:true }, slug:{ type:String, required:true }, desc:{type:String,required:true}, img:{type:String,reuired:true}, category:{type:String,reuired:true}, size:{type:String}, color:{type:String}, price:{type:Number}, availableQty:{type:String,required:true} },{timestamps:true}); mongoose.models={} export default mongoose.model=('Product',productSchema)Intenta exportar tu model así:
export default mongoose.models?.Product || mongoose.model('Product', productSchema); Puede eliminar la línea mongoose.models = {} .