Soy nuevo en nextjs y la codificación, lo intento en node.js está bien, pero lo intento en next.js, aparece este error, ¡ayuda!
Gracias,
OverwriteModelError: no se puede sobrescribir el modelo 'CountDown' una vez compilado.
import mongoose from 'mongoose' // mongoose connection mongoose.connect(process.env.MONGODB_URI); // mongoose items setup ------------------------- const countdownSchema = { title: { type: String, required: [true, 'Please input Event name'], unique: true, trim: true, maxLength: [50, 'Title cannot be more then 50 charactor'] }, year: String, month: String, day: String, time: String }; // mongoose model const CountDown = mongoose.model("CountDown", countdownSchema); // end mongoose setup ---------------------------- export default function Model() { // default build mongoDB const item = new CountDown({ title: '2023 Chinese New Year', year: '2023', month: 'January', day: '22', time: '09:00' }); item.save(); return ( <> <h1>Hello World</h1> </> ) }Ese error ocurre si no tiene esta línea en su archivo de modelo de mangosta.
export default mongoose.models.CountDown || mongoose.model("CountDown", countdownSchema); Debe escribir su modelo en un archivo separado y luego exportarlo como se muestra arriba. Si falta mongoose.models.CountDown , obtendrá ese error en next.js
No puede conectarse a su MongoDB desde aplicaciones de javascript, porque javascript se ejecuta en el navegador mientras su base de datos reside en el servidor.
En su lugar, debería pensar en codificar una API usando un nodo y luego exponer puntos finales a los que puede llamar desde el lado de JavaScript para ejecutar operaciones de MongoDB.