diff --git a/server/migrations/emailConsolidation.js b/server/migrations/emailConsolidation.js index 01af84943a..bbe02a4791 100644 --- a/server/migrations/emailConsolidation.js +++ b/server/migrations/emailConsolidation.js @@ -14,10 +14,7 @@ const mongoConnectionString = process.env.MONGO_URL; const { ObjectId } = mongoose.Types; // Connect to MongoDB mongoose.Promise = global.Promise; -mongoose.connect(mongoConnectionString, { - useNewUrlParser: true, - useUnifiedTopology: true -}); +mongoose.connect(mongoConnectionString); mongoose.set('strictQuery', true); mongoose.connection.on('error', () => { console.error( diff --git a/server/previewServer.js b/server/previewServer.js index 3c07cd5d51..9e872c2a6d 100644 --- a/server/previewServer.js +++ b/server/previewServer.js @@ -22,8 +22,6 @@ const connectToMongoDB = async () => { mongoose.set('strictQuery', true); await mongoose.connect(mongoConnectionString, { - useNewUrlParser: true, - useUnifiedTopology: true, serverSelectionTimeoutMS: 30000, // 30 seconds timeout socketTimeoutMS: 45000 // 45 seconds timeout }); diff --git a/server/scripts/examples-gg-latest.js b/server/scripts/examples-gg-latest.js index f6ed2d4e7e..79ed2dcdca 100644 --- a/server/scripts/examples-gg-latest.js +++ b/server/scripts/examples-gg-latest.js @@ -59,10 +59,7 @@ const headers = { 'User-Agent': 'p5js-web-editor/0.0.1' }; const mongoConnectionString = process.env.MONGO_URL; -mongoose.connect(mongoConnectionString, { - useNewUrlParser: true, - useUnifiedTopology: true -}); +mongoose.connect(mongoConnectionString); mongoose.set('strictQuery', true); mongoose.connection.on('error', () => { console.error( diff --git a/server/scripts/examples.js b/server/scripts/examples.js index 39e974a873..b058e6b016 100644 --- a/server/scripts/examples.js +++ b/server/scripts/examples.js @@ -14,10 +14,7 @@ const headers = { 'User-Agent': 'p5js-web-editor/0.0.1' }; const mongoConnectionString = process.env.MONGO_URL; -mongoose.connect(mongoConnectionString, { - useNewUrlParser: true, - useUnifiedTopology: true -}); +mongoose.connect(mongoConnectionString); mongoose.set('strictQuery', true); mongoose.connection.on('error', () => { console.error( diff --git a/server/server.js b/server/server.js index 8b4d196451..afb9530cfa 100644 --- a/server/server.js +++ b/server/server.js @@ -76,14 +76,19 @@ app.use(cookieParser()); mongoose.set('strictQuery', true); -const clientPromise = mongoose - .connect(mongoConnectionString, { - useNewUrlParser: true, - useUnifiedTopology: true, - serverSelectionTimeoutMS: 30000, // 30 seconds timeout - socketTimeoutMS: 45000 // 45 seconds timeout - }) - .then((m) => m.connection.getClient()); +async function connectToMongoDB() { + try { + const mongooseConnection = await mongoose.connect(mongoConnectionString, { + serverSelectionTimeoutMS: 30000, // 30 seconds timeout + socketTimeoutMS: 45000 // 45 seconds timeout + }); + return mongooseConnection.connection.getClient(); + } catch (err) { + throw new Error('MongoDB connection failed', err); + } +} + +const clientInstancePromise = connectToMongoDB(); app.use( session({ @@ -97,8 +102,7 @@ app.use( secure: false }, store: new MongoStore({ - clientPromise, - autoReconnect: true + clientPromise: clientInstancePromise }) }) );