Track the deck counts in a database.
This commit is contained in:
parent
304dc28236
commit
2c39b83733
29
src/draw.js
Normal file
29
src/draw.js
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
import * as mongodb from 'mongodb';
|
||||||
|
import { strategies } from './strategies';
|
||||||
|
|
||||||
|
const MongoClient = mongodb.MongoClient;
|
||||||
|
|
||||||
|
const drawCard = async () => {
|
||||||
|
const url = 'mongodb://localhost:27017';
|
||||||
|
const dbName = 'oblique';
|
||||||
|
|
||||||
|
const client = await MongoClient.connect(url, { useNewUrlParser: true });
|
||||||
|
const db = client.db(dbName);
|
||||||
|
const cardCounts = db.collection('counts');
|
||||||
|
|
||||||
|
const theCard = strategies[ Math.floor(Math.random()*strategies.length) ].toLowerCase();
|
||||||
|
const trackingName = theCard.replace(/\W/g, '');
|
||||||
|
|
||||||
|
const updated = await cardCounts.findOneAndUpdate(
|
||||||
|
{ card: trackingName },
|
||||||
|
{ $set: { card: trackingName }, $inc: { count: 1 } },
|
||||||
|
{ upsert: true, returnNewDocument: true },
|
||||||
|
);
|
||||||
|
|
||||||
|
client.close();
|
||||||
|
return theCard;
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
drawCard,
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user