mirror of
https://github.com/anatolykopyl/vk-bingo.git
synced 2026-03-26 12:54:25 +00:00
🎨 Собрал запрос к коллекции в константу
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user