Skip to main content

TypeError: Class constructor MongoStore cannot be invoked without 'new'

 This error occurs as because may be you have used the following code: 

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

and

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


Now this is happening as because syntax have been changed (see the documentation here: documentation)


Solution that worked for me: 

Use this: 

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


and, 

app.use(session({
    secret: 'keyboard cat',
    resave: false,
    saveUninitialized: false, //false means don't create a session untitl it is stored
    // store: new MongoStore({ mongooseConnection: mongoose.connection })
    store: MongoStore.create({
        mongoUrl: process.env.MONGO_URI
    })
}));




Comments

Popular posts from this blog

SQL: sneak peek

show databases; use mysql; show tables; select * from component; describe component; create database sql_intro; show databases; use sql_intro; create table emp_details (Name varchar(25), Age int, gender char(1), doj date, city varchar(15), salary float); describe emp_details; insert into emp_details  values("Jimmy",35,"M","2005-05-30","Chicago",70000), ("Shane",30,"M","1999-06-25","Seattle",55000), ("Marry",28,"F","2009-03-10","Boston",62000), ("Dwayne",37,"M", "2011-07-12","Austin", 57000), ("Sara",32,"F","2017-10-27","New York",72000), ("Ammy",35,"F","2014-12-20","Seattle",80000); select * from emp_details; select distinct city from emp_details; select count(name) as count_name from emp_details; select avg(salary) from emp_details; select name, age...