You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
742 B
JavaScript
29 lines
742 B
JavaScript
/**
|
|
* Created by Syed Afzal
|
|
*/
|
|
const mongoose = require("mongoose");
|
|
|
|
exports.connect = (app) => {
|
|
const options = {
|
|
useNewUrlParser: true,
|
|
autoIndex: false, // Don't build indexes
|
|
maxPoolSize: 10, // Maintain up to 10 socket connections
|
|
};
|
|
|
|
const connectWithRetry = () => {
|
|
mongoose.Promise = global.Promise;
|
|
console.log("MongoDB connection with retry");
|
|
mongoose
|
|
.connect(process.env.MONGODB_URI, options)
|
|
.then(() => {
|
|
console.log("MongoDB is connected");
|
|
app.emit("ready");
|
|
})
|
|
.catch((err) => {
|
|
console.log("MongoDB connection unsuccessful, retry after 2 seconds.", err);
|
|
setTimeout(connectWithRetry, 2000);
|
|
});
|
|
};
|
|
connectWithRetry();
|
|
};
|