aboutsummaryrefslogtreecommitdiff
path: root/src/server/database.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/database.ts')
-rw-r--r--src/server/database.ts62
1 files changed, 47 insertions, 15 deletions
diff --git a/src/server/database.ts b/src/server/database.ts
index 16211a2f6..51103520e 100644
--- a/src/server/database.ts
+++ b/src/server/database.ts
@@ -9,49 +9,81 @@ export class Database {
private MongoClient = mongodb.MongoClient;
private url = 'mongodb://localhost:27017/Dash';
- public update(id: String, value: any) {
- this.MongoClient.connect(this.url, (err, db) => {
+ public update(id: string, value: any) {
+ this.MongoClient.connect(this.url, { bufferMaxEntries: 1 }, (err, db) => {
let collection = db.db().collection('documents');
- collection.update({ _id: id }, { $set: value });
+ collection.update({ _id: id }, { $set: value }, {
+ upsert: true
+ });
db.close();
});
}
public delete(id: string) {
- this.MongoClient.connect(this.url, (err, db) => {
+ this.MongoClient.connect(this.url, { bufferMaxEntries: 1 }, (err, db) => {
let collection = db.db().collection('documents');
collection.remove({ _id: id });
db.close();
});
}
- public insert(kvpairs: any) {
+ public deleteAll() {
this.MongoClient.connect(this.url, (err, db) => {
let collection = db.db().collection('documents');
- collection.insertOne(kvpairs, () => { });
+ collection.deleteMany({});
+ })
+ }
+
+ public insert(kvpairs: any) {
+ this.MongoClient.connect(this.url, { bufferMaxEntries: 1 }, (err, db) => {
+ let collection = db.db().collection('documents');
+ collection.insertOne(kvpairs, (err: any, res: any) => {
+ if (err) {
+ // console.log(err)
+ return
+ }
+ });
db.close();
});
}
- public getDocument(id: String): string | undefined {
+ public getDocument(id: string, fn: (res: any) => void) {
var result: JSON;
- this.MongoClient.connect(this.url, (err, db) => {
+ this.MongoClient.connect(this.url, {
+ bufferMaxEntries: 1
+ }, (err, db) => {
if (err) {
console.log(err)
return undefined
}
let collection = db.db().collection('documents');
- collection.findOne({ _id: id }, (err: any, res: any) => result = res)
- console.log(result)
+ collection.findOne({ _id: id }, (err: any, res: any) => {
+ result = res
+ if (!result) {
+ fn(undefined)
+ }
+ fn(result)
+ })
db.close();
- if (!result) {
- console.log("not found")
+ });
+ }
+
+ public getDocuments(ids: string[], fn: (res: any) => void) {
+ var result: JSON;
+ this.MongoClient.connect(this.url, {
+ bufferMaxEntries: 1
+ }, (err, db) => {
+ if (err) {
+ console.log(err)
return undefined
}
- console.log("found")
- return result;
+ let collection = db.db().collection('documents');
+ let cursor = collection.find({ _id: { "$in": ids } })
+ cursor.toArray((err, docs) => {
+ fn(docs);
+ })
+ db.close();
});
- return undefined
}
public print() {