프로젝트

일반

사용자정보

통계
| 개정판:

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;