Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdatabase_manager.js
More file actions
Latest commit
executable file
·78 lines (66 loc) · 2.21 KB
/
Copy pathdatabase_manager.js
File metadata and controls
executable file
·78 lines (66 loc) · 2.21 KB
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
varMongoClient=require('mongodb').MongoClient,
test=require('assert');
varurl=process.env.MONGO_CONNSTRING;
vardatabaseMode=true;
console.log(url);
classDatabaseManager{
constructor(){
// Connect to the db
varcallback=(db)=>{
this.database=db;
}
if(databaseMode){
MongoClient.connect(url,function(err,db){
if(err){returnconsole.dir(err);}
callback(db);
});
}else{
console.log("database mode is off")
}
}
getAll(callback){
if(databaseMode){
varcollection=this.database.collection('wall');
collection.find().toArray(function(err,items){
callback(items)
});
}
}
putDummyData(){
vardoc1={'hello':'doc1'};
vardoc2={'hello':'doc2'};
varlotsOfDocs=[{'hello':'doc3'},{'hello':'doc4'},doc1,doc2];
if(databaseMode){
varcollection=this.database.collection('test2');
this.database.createCollection('test2',{strict:true},function(err,collection){});
collection.insert(lotsOfDocs,{w:1},function(err,result){});
varcollection=this.database.collection('test2');
}
}
update(key,record){
if(databaseMode){
varcollection=this.database.collection('wall');
collection.update(key,{$set:record},{upsert: true},function(err,result){
if(err){returnconsole.dir(err);}
});
}
}
}
module.exports=newDatabaseManager();
return;
//database test, run by removing return ^^:
vardbm=newDatabaseManager();
varcallbackWith=(items)=>{
console.log("items fetched:")
console.log(items)
returnitems;
}
setTimeout(()=>{
vartest_id={key: "123"}
console.log("Running DBM tests:");
dbm.update(test_id,{key: "123","fieldtoupdate": "field123"});
dbm.update(test_id,{key: "123","fieldtoupdate": "field456"});
console.log("Update() Test completed.");
dbm.getAll(callbackWith);
console.log("GetAll Test completed.")
},5000);