Skip to content

Commit 7cec8e5

Browse files
authored
Merge pull request #3223 from processing/task/mongodb-connection
Task/mongodb connection
2 parents f1b2d1b + e31afef commit 7cec8e5

File tree

2 files changed

+18
-26
lines changed

2 files changed

+18
-26
lines changed

server/previewServer.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,13 @@ const mongoConnectionString = process.env.MONGO_URL;
1919
// Connect to MongoDB
2020
const connectToMongoDB = async () => {
2121
try {
22+
mongoose.set('strictQuery', true);
23+
2224
await mongoose.connect(mongoConnectionString, {
2325
useNewUrlParser: true,
24-
useUnifiedTopology: true
26+
useUnifiedTopology: true,
27+
serverSelectionTimeoutMS: 30000, // 30 seconds timeout
28+
socketTimeoutMS: 45000 // 45 seconds timeout
2529
});
2630
} catch (error) {
2731
console.error('Failed to connect to MongoDB: ', error);
@@ -31,7 +35,6 @@ const connectToMongoDB = async () => {
3135

3236
connectToMongoDB();
3337

34-
mongoose.set('strictQuery', true);
3538
mongoose.connection.on('error', () => {
3639
console.error(
3740
'MongoDB Connection Error. Please make sure that MongoDB is running.'

server/server.js

Lines changed: 13 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,18 @@ app.options('*', corsMiddleware);
7373
app.use(bodyParser.urlencoded({ limit: '50mb', extended: true }));
7474
app.use(bodyParser.json({ limit: '50mb' }));
7575
app.use(cookieParser());
76+
77+
mongoose.set('strictQuery', true);
78+
79+
const clientPromise = mongoose
80+
.connect(mongoConnectionString, {
81+
useNewUrlParser: true,
82+
useUnifiedTopology: true,
83+
serverSelectionTimeoutMS: 30000, // 30 seconds timeout
84+
socketTimeoutMS: 45000 // 45 seconds timeout
85+
})
86+
.then((m) => m.connection.getClient());
87+
7688
app.use(
7789
session({
7890
resave: true,
@@ -85,7 +97,7 @@ app.use(
8597
secure: false
8698
},
8799
store: new MongoStore({
88-
mongooseConnection: mongoose.connection,
100+
clientPromise,
89101
autoReconnect: true
90102
})
91103
})
@@ -151,29 +163,6 @@ app.use('/', passportRoutes);
151163
// configure passport
152164
require('./config/passport');
153165

154-
// Connect to MongoDB
155-
const connectToMongoDB = async () => {
156-
try {
157-
await mongoose.connect(mongoConnectionString, {
158-
useNewUrlParser: true,
159-
useUnifiedTopology: true
160-
});
161-
} catch (error) {
162-
console.error('Failed to connect to MongoDB: ', error);
163-
process.exit(1);
164-
}
165-
};
166-
167-
connectToMongoDB();
168-
169-
mongoose.set('strictQuery', true);
170-
mongoose.connection.on('error', () => {
171-
console.error(
172-
'MongoDB Connection Error. Please make sure that MongoDB is running.'
173-
);
174-
process.exit(1);
175-
});
176-
177166
app.get('/', (req, res) => {
178167
res.sendFile(renderIndex());
179168
});

0 commit comments

Comments
 (0)