Changed the way I connect to mongoDb to avoid excessive pool usage

This commit is contained in:
ION606
2022-07-31 10:03:21 +03:00
parent e51cb6cae1
commit 47b0040f62
2 changed files with 21 additions and 22 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

+18 -19
View File
@@ -14,6 +14,8 @@ const clientId = process.env.clientId;
const clientSecret = process.env.clientSecret; const clientSecret = process.env.clientSecret;
const port = process.env.PORT || 3000; const port = process.env.PORT || 3000;
const mongouri = process.env.mongouri; const mongouri = process.env.mongouri;
const client = new MongoClient(mongouri, { useNewUrlParser: true, useUnifiedTopology: true, serverApi: ServerApiVersion.v1 });
const connection = client.connect();
const bot = new Client({ const bot = new Client({
@@ -79,19 +81,19 @@ app.post('/getServer', async (req, res) => {
const id = req.headers.servernumber; const id = req.headers.servernumber;
//Get info //Get info
const client = new MongoClient(mongouri, { useNewUrlParser: true, useUnifiedTopology: true, serverApi: ServerApiVersion.v1 }); connection.then((client) => {
client.connect(err => { console.error(err); }); const dbo = client.db(id).collection('SETUP');
const dbo = client.db(id).collection('SETUP'); dbo.find().toArray(async (err, docs) => {
dbo.find().toArray(async (err, docs) => { if (err) { return console.error(err); }
if (err) { return console.error(err); }
const m = new Map(); const m = new Map();
m.set('Id', id); m.set('Id', id);
await Promise.all(docs.map(async (doc) => { await Promise.all(docs.map(async (doc) => {
m.set(doc._id, doc); m.set(doc._id, doc);
})).then(() => { res.send(JSON.stringify(Object.fromEntries(m))); }) })).then(() => { res.send(JSON.stringify(Object.fromEntries(m))); })
}) })
});
// return res.sendFile('myGuilds.html', { root: '.' }); // return res.sendFile('myGuilds.html', { root: '.' });
}) })
@@ -140,16 +142,13 @@ app.post('/sendData', async (req, res) => {
try { try {
const pref = JSON.parse(req.headers.serversettings); const pref = JSON.parse(req.headers.serversettings);
const client = new MongoClient(mongouri, { useNewUrlParser: true, useUnifiedTopology: true, serverApi: ServerApiVersion.v1 }); connection.then((client) => {
client.connect(err => { console.error(err); }); const dbo = client.db(pref.Id).collection('SETUP');
const dbo = client.db(pref.Id).collection('SETUP');
await dbo.updateOne({ _id: 'WELCOME' }, {$set: { welcomechannel: pref.WELCOME.welcomechannel, welcomemessage: pref.WELCOME.welcomemessage }}); await dbo.updateOne({ _id: 'WELCOME' }, {$set: { welcomechannel: pref.WELCOME.welcomechannel, welcomemessage: pref.WELCOME.welcomemessage }});
await dbo.updateOne({ _id: 'LOG' }, {$set: { keepLogs: pref.LOG.keepLogs, logchannel: pref.LOG.logchannel, severity: pref.LOG.severity }}); await dbo.updateOne({ _id: 'LOG' }, {$set: { keepLogs: pref.LOG.keepLogs, logchannel: pref.LOG.logchannel, severity: pref.LOG.severity }});
}).then(() => { res.send("DONE"); })
client.close().then(() => {
res.send("DONE");
});
} catch (err) { } catch (err) {
console.error(err); console.error(err);
res.send("FAILED"); res.send("FAILED");