Estoy tratando de obtener datos en la colección Note de una base de datos local de MongoDB usando Mongoose con Nextjs y aparece el error "No se pueden leer las propiedades de undefined (leyendo 'nota')"
¿Alguna idea sobre lo que estoy haciendo mal?
import mongoose from 'mongoose'; const { Schema } = mongoose; const NoteSchema = new Schema( { title: { type: String, maxlength: 60, }, description: { type: String, maxlength: 200, }, }, { timestamps: true } ); export default mongoose.models.note || mongoose.model('note', NoteSchema) import dbConnect from "../../../lib/dbConnect" import Note from "../../../models/Note" export default async function handler(req, res) { const { method } = req await dbConnect() if (method === 'GET') { try { const note = await Note.find({}) res.status(200).json({ success: true, data: note}) } catch (error) { res.status(400).json({ success: false }) } } if (method === 'POST') { try { const note = await Note.create(req.body) res.status(200).json({ success: true, data: note}) } catch (error) { res.status(500).json(error) } } } import mongoose from 'mongoose' const {MONGODB_URI} = process.env let cached = global.mongoose if (!cached) { cached = global.mongoose = { conn: null, promise: null } } async function dbConnect() { if (cached.conn) { return cached.conn } if (!cached.promise) { const opts = { useNewUrlParser: true, useUnifiedTopology:true, bufferCommands: false, } cached.promise = mongoose.connect(MONGODB_URI, opts).then((mongoose) => { return mongoose }) } cached.conn = await cached.promise return cached.conn } export default dbConnectme sale lo siguiente
Error de tiempo de ejecución no controlado TypeError: no se pueden leer las propiedades de undefined (leyendo 'nota')
Pude arreglarlo cambiando el módulo de exportación.
global.PizzaSchema = global.NoteSchema || mongoose.model('Note', NoteSchema); export default global.NoteSchema;