-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdb.js
111 lines (100 loc) · 2.8 KB
/
db.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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
var MongoClient = require("mongodb").MongoClient;
exports.dburl="";
function _connect(url,callback){
MongoClient.connect(url,function(err,db){
if(err){
callback(err,db)
return
}
callback(err,db)
return
})
}
//添加单条数据
exports.insertOne = function(collectionName,json,callback){
var url = this.dburl;
_connect(url,function (err,db){
if(err){
throw err;
return
}
db.collection(collectionName).insertOne(json,function(err,results){
callback(err,results);
db.close()
})
return
});
}
//删除数据
exports.deleteMany = function (collectionName,json,callback) {
var url = this.dburl;
_connect(url,function (err,db) {
db.collection(collectionName).deleteMany(json,
function(err, results) {
// console.log(results);
callback(err,results);
db.close();//关闭数据库
return
}
);
})
};
exports.updateOne = function (collectionName,zhiding,json,callback) {
var url = this.dburl;
_connect(url,function (err,db) {
db.collection(collectionName).update(zhiding,json,
function(err, results) {
// console.log(results);
callback(err,results);
db.close();//关闭数据库
return
}
);
})
};
//查找数据
//{skipnum:10,limit:8,sortobj:{"num":4,"posts": 1}},callback
exports.find = function(collectionName,json,sls,callback){
var url = this.dburl;
if(arguments.length == 2){
var callBack = json;
var skipnum = 0;
var sort = {};
var limit = 0;
}else if(arguments.length == 3){
var slsdata = json;
var skipnum = json.limit*sls.skipnum || 0;
var limit = json.limit || 0;
var sort = json.sortobj ||{};
var callBack = sls
}else if(arguments.length == 4){
var jsondata = json;
var skipnum = sls.limit*sls.skipnum || 0;
var sort = sls.sortobj || {};
var callBack = callback;
var limit = sls.limit || 0;
}else {
throw new Error("参数必须是二个到四个");
return;
}
_connect(url,function(err,db){
var cursor = db.collection(collectionName).find(jsondata).skip(skipnum).limit(limit).sort(sort);
var arr = [];
cursor.each(function(err,doc){
if(err){
callBack(err)
return
}
if(doc!==null){
arr.push(doc)
}else{
callBack(arr)
db.close();
return
}
})
})
}
exports.consoleLog = function(a){
console.log(this.dburl)
}