-
Notifications
You must be signed in to change notification settings - Fork 0
/
MongoConnection.js
73 lines (70 loc) · 2.06 KB
/
MongoConnection.js
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
const { MongoClient } = require('mongodb');
const uri = 'mongodb://dbserver.anonyo.net:27017'; // Replace with your MongoDB connection URI
const options = {
useNewUrlParser: true,
useUnifiedTopology: true,
};
class Connection{
printError(er,result){
if (err) {
console.error('Error inserting document:', err);
}
}
async connect() {
try {
await this.con.connect();
console.error("connected!!");
} catch (err) {
console.error('Error connecting to MongoDB:', err);
}
}
constructor() {
this.con = new MongoClient(uri, options);
this.connect()
}
async close() {
console.log("Closing Connection");
this.con.close();
}
async insert(db, col, item,ret=null) {
var collection = this.con.db(db).collection(col);
if (item.constructor.name == "Set")
item = Array.from(item);
if (item.constructor.name == "SetList")
item.item.toList();
var a=null;
if (item.constructor.name == "Array")
a=await collection.insertMany(item, this.printError);
else
a=await collection.insertOne(item, this.printError);
if(ret==null)
return a;
else
return ret(a);
}
async find(db, col, data,ret=null) {
var collection = this.con.db(db).collection(col);
var a=await collection.find(data).toArray()
if(ret==null)
return a;
else
return ret(a);
}
async update(db,col,where,change,ret=null){
var collection = this.con.db(db).collection(col);
var a=await collection.updateMany(where,{ $set: change });
if(ret==null)
return a;
else
return ret(a);
}
async delete(db,col,where,ret=null){
var collection = this.con.db(db).collection(col);
var a=await collection.deleteMany(where);
if(ret==null)
return a;
else
return ret(a);
}
}
module.exports=Connection;