🎨 Собрал запрос к коллекции в константу

This commit is contained in:
2021-03-30 19:33:03 +03:00
parent b9beb3887e
commit 7755d011b7

View File

@@ -34,10 +34,12 @@ app.use(session({
})) }))
client.connect() client.connect()
const cardsCollection = client.db(process.env.DB_NAME).collection('cards')
const answersCollection = client.db(process.env.DB_NAME).collection('answers')
// Выравнивание вероятности // Выравнивание вероятности
let dropProb = {} // Объект хранящий вероятности с которой карта каждого участника отбрасывается let dropProb = {} // Объект хранящий вероятности с которой карта каждого участника отбрасывается
client.db(process.env.DB_NAME).collection('cards').aggregate([ cardsCollection.aggregate([
{ {
'$group': { '$group': {
'_id': '$name', '_id': '$name',
@@ -47,7 +49,7 @@ client.db(process.env.DB_NAME).collection('cards').aggregate([
} }
} }
]).toArray().then((memeCount) => { ]).toArray().then((memeCount) => {
client.db(process.env.DB_NAME).collection('cards').countDocuments().then((totalCount) => { cardsCollection.countDocuments().then((totalCount) => {
let quota, quotaTimes let quota, quotaTimes
quota = totalCount/memeCount.length // Квота мемов на человека quota = totalCount/memeCount.length // Квота мемов на человека
console.log(totalCount + " мемов всего. Квота: " + quota) console.log(totalCount + " мемов всего. Квота: " + quota)
@@ -90,7 +92,7 @@ app.get('/card', async (req, res) => {
let card let card
// Тянем карты и отбрасываем их в соответствии с их вероятностью отбрасывания // Тянем карты и отбрасываем их в соответствии с их вероятностью отбрасывания
do { do {
card = await client.db(process.env.DB_NAME).collection('cards').aggregate([{ $sample: { size: 1 } }]).toArray() card = await cardsCollection.aggregate([{ $sample: { size: 1 } }]).toArray()
card = card[0] card = card[0]
} while (Math.random() < dropProb[card.name]) } while (Math.random() < dropProb[card.name])
res.status(200).send(card) res.status(200).send(card)
@@ -106,7 +108,7 @@ app.get('/card', async (req, res) => {
app.post('/answer', (req, res) => { app.post('/answer', (req, res) => {
if (req.session.loggedIn) { if (req.session.loggedIn) {
try { try {
client.db(process.env.DB_NAME).collection('answers').insertOne(req.body.data) answersCollection.insertOne(req.body.data)
res.status(200).send() res.status(200).send()
} catch (e) { } catch (e) {
console.log("Error: " + e) console.log("Error: " + e)