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

291
Views
error de mongo-connect con mongo-connect (sesión)

Después de buscar al respecto, no puedo encontrar ninguna solución o error en mi code sobre este error. Tengo mis archivos app.js dentro de mi aplicación de nodo JS con la declaración mongo-connect :

 const MongoStore = require('connect-mongo')(session)

Y tengo este error:

TypeError: el constructor de clases MongoStore no se puede invocar sin 'nuevo' en Object. (/Users/souhailmohamed/project/devops/story website/app.js:11:20) en Module._compile (internal/modules/cjs/loader.js:1063:30) en Object.Module._extensions..js ( internal/modules/cjs/loader.js:1092:10) en Module.load (internal/modules/cjs/loader.js:928:32) en Function.Module._load (internal/modules/cjs/loader.js: 769:14) en Function.executeUserEntryPoint [como runMain] (internal/modules/run_main.js:72:12) en internal/main/run_main_module.js:17:47

Hay mi código app.use a continuación:

 app.use(session({ secret: 'story book', resave: false, saveUninitialized: false, store: new MongoStore({ mongooseConnection: mongoose.connection }) }))

Entiendo bastante bien sobre el

 const MongoStore = require('connect-mongo')(session)

pero no entendí el error. Pero es de un tutorial de youtube de traversy media LinK

over 4 years ago · Santiago Trujillo
10 answers
Answer question

0

Ok, encontré una manera de resolverlo, no sé el motivo, en qué versión de express usar, pero eliminé la (sesión) después de mongo-connect y cambié la aplicación. use a esto:

 app.use(session({ secret: 'story book', resave: false, saveUninitialized: false, store: MongoStore.create({ mongoUrl: 'mongodb+srv://<id+ password>@cluster0.cq7f2.mongodb.net/DBname?retryWrites=true&w=majority' }) }))
over 4 years ago · Santiago Trujillo Report

0

Estaba siguiendo lo mismo, así que descubrí un paquete npm connect-mongodb-session . Instálelo y use el mismo código de sesión que usa Brad en su video

 const MongoDBStore = require('connect-mongodb-session')(session); //sessions app.use(session({ secret: 'keyboard cat', resave: false, saveUnitialized: false, store: new MongoDBStore({ mongooseConnection: mongoose.connection }) //cookie: { secure: true } })) const store = new MongoStore({ uri: 'your mongo uri' , collection:'mySessions' }) //express middleware app.use(session({ secret: 'keyboard cat', resave: false, saveUninitialized: false, store: store // Don't create a session until something is stored // cookie: { secure: true } - this wont work without https }))

También resolvió mi problema de registro. Si cierra la pestaña e ingresa a localhost, ya iniciará sesión

over 4 years ago · Santiago Trujillo Report

0

Tuve el mismo problema en mi código y lo resolví usando esto:

 const MongoDbStore = require('connect-mongo');

Elimine (sesión) de la instrucción require y actualice app.use() de esta manera:

 // Session Config app.use( session({ secret: 'story book', resave: false, saveUninitialized: false, store: MongoDbStore.create({ mongoUrl: YourDatabaseURL }) }) );
over 4 years ago · Santiago Trujillo Report

0

Aquí está la solución:

 const session = require('express-session'); const MongoStore = require('connect-mongo'); const mongoose = require('mongoose');
 app.use(session({ secret: 'story book', resave: false, saveUninitialized: false, store: new MongoStore({ mongoUrl: mongoose.connection._connectionString, mongoOptions: {} }) }))
over 4 years ago · Santiago Trujillo Report

0

Yo tengo el mismo problema. Aquí está la solución:

 var session = require('express-session'); var MongoStore = require('connect-mongo'); var mongoose = require('mongoose'); mongoose.Promise = global.Promise; app.use(session({ secret : 'mysecretkey', resave : true, saveUninitialized : true, store :MongoStore.create({ mongoUrl: DBUrl }) }));

over 4 years ago · Santiago Trujillo Report

0

connect-mongo v4 presenta una nueva firma (en comparación con v3).

Aquí está la guía oficial de migración .


Además, aquí hay una diferencia rápida de lo que cambié en mi proyecto específico (usando mongoose y dotenv ) para actualizar de connect-mongo v3 a v4:

conectar-mongo 3 a 4 diff

over 4 years ago · Santiago Trujillo Report

0

Ciertas reglas se cambian para la sintaxis en el documento "connect-mongo" aquí

const MongoStore = require("connect-mongo");

 secret: 'keyboard cat', resave: false, saveUninitialized: false, store: MongoStore.create({ mongoUrl: process.env.MONGO_URI //(URI FROM.env file) }) //stroed it in database }));
over 4 years ago · Santiago Trujillo Report

0

app.use(session({ store: MongoStore.create({ mongoUrl: 'mongodb://localhost/test-app' }) })); // Advanced usage app.use(session({ store: MongoStore.create({ mongoUrl: 'mongodb://user12345:foobar@localhost/test-app?authSource=admin&w=1', mongoOptions: advancedOptions // See below for details }) }));
over 4 years ago · Santiago Trujillo Report

0

En su app.js haga los siguientes cambios:

 let MongoStore = require('connect-mongo'); app.use( session({ secret: 'keyboard cat', resave: false, saveUninitialized: false, store: MongoStore.create({ mongoUrl: 'your mongo url' }) }); );

Referencias:

  • https://www.npmjs.com/package/connect-mongo
over 4 years ago · Santiago Trujillo Report

0

Simplemente use el otro paquete npm connect-mongodb-session y debería funcionar https://www.npmjs.com/package/connect-mongodb-session

const MongoDBStore = require('connect-mongodb-session')(session);

over 4 years ago · Santiago Trujillo Report
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!