Reputation: 13
Why does Mongoose always use only one connection instance per request created in nodejs?
const mongo_uri = `mongodb+srv://${process.env.MONGO_USER}:${process.env.MONGO_PWD}@${process.env.MONGO_URL}/${process.env.MONGO_DB}?retryWrites=true&w=majority`;
mongoose.connect(mongo_uri, {
useNewUrlParser: true,
useUnifiedTopology: true
});
const serverStatus = () => {
return [{
mongoose: {
state: 'up',
dbState: mongoose.STATES[mongoose.connection.readyState]
}
}]
};
// Plug into middleware.
app.use('/healthcheck', require('express-healthcheck')({
healthy: serverStatus
}));
Upvotes: 1
Views: 630
Reputation: 26
Mongoose uses the connection made by mongoose.connect()
as a default, however you can have multiple connections:
https://mongoosejs.com/docs/connections.html#multiple_connections
As to why, its so that you can use it in mutliple scripts without needing to pass a connection around.
Upvotes: 1