upload to codehub
This commit is contained in:
47
connection.js
Normal file
47
connection.js
Normal file
@@ -0,0 +1,47 @@
|
||||
const mongoose = require('mongoose');
|
||||
|
||||
let db;
|
||||
|
||||
const mongoOptions = {
|
||||
useNewUrlParser: true,
|
||||
useUnifiedTopology: true,
|
||||
};
|
||||
|
||||
const connectToServer = (callback) => {
|
||||
if (db) {
|
||||
console.warn('Already connected to the database');
|
||||
return callback();
|
||||
}
|
||||
|
||||
const connectionUrl = process.env.MONGODB_PASSWORD
|
||||
? `mongodb://${process.env.MONGODB_USERNAME}:${process.env.MONGODB_PASSWORD}@${process.env.MONGODB_HOST}:${process.env.MONGODB_PORT}/${process.env.MONGODB_NAME}?authMechanism=DEFAULT&authSource=admin`
|
||||
: `mongodb://${process.env.HOST}/${process.env.DB_NAME}`;
|
||||
|
||||
const message = process.env.MONGODB_PASSWORD
|
||||
? 'Mongodb connected with password'
|
||||
: 'Mongodb connected without password'
|
||||
|
||||
mongoose.connect(connectionUrl, mongoOptions, (err) => {
|
||||
if (err) {
|
||||
console.error('Error connecting to MongoDB:', err);
|
||||
} else {
|
||||
console.log(message);
|
||||
db = mongoose.connection;
|
||||
}
|
||||
return callback(err);
|
||||
});
|
||||
};
|
||||
|
||||
const disconnectFromServer = () => {
|
||||
if (db) {
|
||||
mongoose.disconnect();
|
||||
console.log('Disconnected from MongoDB');
|
||||
} else {
|
||||
console.warn('Not connected to the database');
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
connectToServer,
|
||||
disconnectFromServer,
|
||||
};
|
||||
Reference in New Issue
Block a user