wolfcountBot/dbinit.js

68 lines
2.5 KiB
JavaScript
Executable File

require('dotenv').config();
const mongoose = require('mongoose');
const Wolfcount = require('./models/wolfcount');
const dblocation = process.env.DBLOCATION
try {
if (dblocation === 'selfhosted') {
const uri = `mongodb://${process.env.MONGODBUSER}:${process.env.MONGODBPASS}@${process.env.MONGODBHOST}/${process.env.DATABASE}`
mongoose.connect(`${uri}`, {
useNewUrlParser: true,
useUnifiedTopology: true
}).then(() => {
console.log('');
console.log(`Connected to the selfhosted database`);
}).catch((error) => {
console.log(`Failed to connect to the database`);
console.log(error);
});
} else if (dblocation === 'cloud') {
const uri = `mongodb+srv://${process.env.MONGODBUSER}:${process.env.MONGODBPASS}@${process.env.MONGODBCLUSTER}/${process.env.DATABASE}?retryWrites=true&w=majority`
mongoose.connect(`${uri}`, {
useNewUrlParser: true,
useUnifiedTopology: true
}).then(() => {
console.log('');
console.log(`Connected to the database`);
}).catch((error) => {
console.log(`Failed to connect to the database`);
console.log(error);
});
} else {
console.error(`Failed to connect to the database, it is possible that the host option is not available`);
}
// Wait a few seconds bfore execution
setTimeout(function() {
// ensure that the bot stats document exists
const wolfcount = new Wolfcount({
count: 0,
validation: "wolfcount"
});
wolfcount.save().then(() => {
console.log('Count document saved successfully into the database!');
Wolfcount.find().then((document) => {
console.log(document);
}).catch((err) => {
console.log('Failed to retrieve document from the database', err)
});
}).catch(err => {
console.log('Error while saving the count document', err);
});
}, 3000);
setTimeout(function() {
try {mongoose.disconnect();}
catch(err){console.log('Error while disconnecting from the database', err);}
}, 3000);
setTimeout(function() {
console.log('Collection and document saved successfully into the database. Succesfully closed the connection to the db!');
}, 4000);
}
catch(err) {
console.log('Error while connecting to the database', err);
}