root / HServer / 00.Server / 00.Program / db_modules / dbCenter.js
이력 | 보기 | 이력해설 | 다운로드 (3.07 KB)
1 |
var mongoose = require('mongoose'); |
---|---|
2 |
var fs = require('fs'); |
3 |
var mongod = require('mongod'); |
4 |
var express = require('express'); |
5 |
var MongoClient = require('mongodb').MongoClient; |
6 |
var router = express.Router();
|
7 |
|
8 |
// Client 스키마 정의
|
9 |
var clientSchema = mongoose.Schema({
|
10 |
|
11 |
_ip: String,
|
12 |
_mac: String,
|
13 |
|
14 |
_registerd: String
|
15 |
}); |
16 |
|
17 |
var ClientModel;
|
18 |
var dbCenter = {};
|
19 |
|
20 |
//#region [ Variable ]
|
21 |
var dbo;
|
22 |
//#endregion
|
23 |
|
24 |
//#region [ USED ]
|
25 |
|
26 |
// db에 connect 가 시도되며 url 의 database 가 없다면 자동으로 생성하게 된다.
|
27 |
dbCenter.connect = function(url, callback){ |
28 |
console.log('[dbCenter] connect 호출');
|
29 |
|
30 |
MongoClient.connect(url, function(err, db){
|
31 |
if( err ){
|
32 |
callback(err); |
33 |
throw err;
|
34 |
} else {
|
35 |
dbo = db.db('horizon');
|
36 |
callback(null);
|
37 |
//db.close(); // ? : 꼭 마지막에 close 를 해줘야 하는지는 아직 판단 하지 못했음.00
|
38 |
} |
39 |
}); |
40 |
}; |
41 |
|
42 |
// db 검색
|
43 |
dbCenter.findClient = function(collectionName, key, callback){ |
44 |
console.log('[dbCenter] findClient 호출');
|
45 |
dbo.collection(collectionName).findOne({mac: key}, function(err, result){ |
46 |
if(err){
|
47 |
callback(err, null);
|
48 |
} else{
|
49 |
if(result){
|
50 |
callback(null, result);
|
51 |
} else {
|
52 |
callback(null, null); |
53 |
} |
54 |
} |
55 |
}); |
56 |
}; |
57 |
|
58 |
// db 검색
|
59 |
dbCenter.findContents = function(collectionName, key, callback){ |
60 |
console.log('[dbCenter] findContents 호출');
|
61 |
|
62 |
dbo.collection(collectionName).findOne({name: key}, function(err, result){ |
63 |
if(err){
|
64 |
callback(err, null);
|
65 |
} else{
|
66 |
if(result){
|
67 |
callback(null, result);
|
68 |
} else {
|
69 |
callback(null, null); |
70 |
} |
71 |
} |
72 |
}); |
73 |
}; |
74 |
|
75 |
// db 추가 | 콜렉션의 이름 | req.body | 검색하고자 하는 키 | 콜백
|
76 |
dbCenter.add = function(collectionName, data, callback){ |
77 |
console.log('[dbCenter] add 호출');
|
78 |
dbo.collection(collectionName).insertOne(data, function(err, res){
|
79 |
if(err){
|
80 |
callback(err); |
81 |
} else {
|
82 |
callback(null);
|
83 |
} |
84 |
}); |
85 |
}; |
86 |
|
87 |
// db 전체 검색
|
88 |
dbCenter.findAll = function(collectionName, callback){ |
89 |
console.log('[dbCenter] findall 호출');
|
90 |
dbo.collection(collectionName).find({}).toArray(function(err, result){
|
91 |
if(err){
|
92 |
callback(err, null);
|
93 |
} else {
|
94 |
callback(null, result);
|
95 |
} |
96 |
}); |
97 |
}; |
98 |
|
99 |
dbCenter.findSome = function(collectionName, callback){ |
100 |
console.log('[dbCenter] findSome 호출');
|
101 |
} |
102 |
|
103 |
dbCenter.modifiy = function(collectionName, orgdata, setdata ,callback){ |
104 |
console.log('[dbCenter] modifiy 호출');
|
105 |
dbo.collection(collectionName).updateOne(orgdata, {$set:setdata}, function(err, res){ |
106 |
if(err){
|
107 |
callback(err, null);
|
108 |
} else{
|
109 |
callback(null, res);
|
110 |
} |
111 |
}); |
112 |
}; |
113 |
//#endregion
|
114 |
|
115 |
exports.default = router;
|
116 |
module.exports = dbCenter; |