Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

191
Views
NextJS: cargue el complemento global en Mongoose antes de la creación del modelo

Tengo una estructura de carpetas que se parece a esto

 root/ pages/ models/ User.js utils/ plugin.js dbConnect.js

Quiero poder cargar el complemento global /utils/plugin.js antes de la creación de mi modelo. Sin embargo, en nextjs, el modelo se crea antes de instalar el complemento. ¿Hay alguna manera de garantizar que el complemento global esté instalado antes de la creación del modelo?

dbConnect.js se copia de next.js/examples/with-mongodb-mongoose

 // dbConnect.js import mongoose from 'mongoose' // loading global plugin console.log('loading plugin') mongoose.plugin(require('./plugin')) const MONGODB_URI = process.env.MONGODB_URI if (!MONGODB_URI) { throw new Error( 'Please define the MONGODB_URI environment variable inside .env.local' ) } /** * Global is used here to maintain a cached connection across hot reloads * in development. This prevents connections growing exponentially * during API Route usage. */ 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 = { bufferCommands: false, } cached.promise = mongoose.connect(MONGODB_URI, opts).then((mongoose) => { return mongoose }) } cached.conn = await cached.promise return cached.conn } export default dbConnect
 // User.js import { Schema, model } from 'mongoose' const UserSchema = new Schema({ firstName: String, lastName: String, }) console.log('creating user model') export default model('User', UserSchema)
about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!