Velvet Star Monitor

Standout celebrity highlights with iconic style.

general

Class constructor MongoStore cannot be invoked without 'new' (Express-NodeJs)Backend

Writer Mia Lopez

I m creating react-auth . Firstly I created server side. I need to connect mongodb but i didnt manage.

const session = require('express-session') const Mongostore = require('connect-mongo')(session) ``const cors = require('cors')

app.use(session({ secret: 'secret',store: new Mongostore({ mongooseConnection: mongoose.connection}), resave: true,saveUninitialized: true }))

3 Answers

For those who want to the latest version of connect-mongo, the new syntax involves removing the parameter session from the require call and not using new any more but a method .create.

Here is what the documentation recommends:

const session = require('express-session');
const MongoStore = require('connect-mongo');
app.use(session({ secret: 'foo', store: MongoStore.create(options)
}));

Basic usage would be:

app.use(session({ store: MongoStore.create({ mongoUrl: 'mongodb://localhost/test-app' })
}));

I had a similar issue while working on replit. My solution was to downgrade connect-mongo's version from 4 to 3.

npm uninstall connect-mongo
npm i connect-mongo@3

From this user's post:

 const session=require("express-session"); const MongoStore=require("connect-mongo");
//***************** app.use(session({ secret:"secret", cookie:{maxAge:60000}, resave:false, saveUninitialized:false, store:MongoStore.create({mongoUrl:process.env.MONGO_URI}), 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy