aboutsummaryrefslogtreecommitdiff
path: root/src/database.ts
blob: a822b15bf72e769cc0ee028ea391b4a17779c262 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import { action, configure } from 'mobx';
import * as mongodb from 'mongodb';

export class database {
    private MongoClient = mongodb.MongoClient;
    private url = 'mongodb://localhost:27017/website';

    public update(id: string, field: string, value: string) {
        this.MongoClient.connect(this.url, (err, db) => {
            let collection = db.db().collection('documents');
            collection.update({ "id": id }, { $set: { field: value } });
            db.close();
        });
    }

    public delete(id: string) {
        this.MongoClient.connect(this.url, (err, db) => {
            let collection = db.db().collection('documents');
            collection.remove({ "id": id });
            db.close();
        });
    }

    public insert(kvpairs: JSON) {
        this.MongoClient.connect(this.url, (err, db) => {
            let collection = db.db().collection('documents');
            collection.insert(kvpairs, () => { });
            db.close();
        });
    }

    public getDocument(id: string) {
        var result: Array<JSON>;
        this.MongoClient.connect(this.url, (err, db) => {
            let collection = db.db().collection('documents');
            collection.find({ "id": id }).toArray((err, db) => { result = db });
            db.close();
            return result[0];
        });
    }
}