-
Notifications
You must be signed in to change notification settings - Fork 0
/
profRoute.js
64 lines (56 loc) · 2.46 KB
/
profRoute.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
var express = require('express');
var async = require('async')
var mongoose = require('mongoose');
var databaseModels = require('./databaseModels')
var cluster = require('express-cluster');
var router = express.Router();
cluster(function(worker){
//{userId : id,searchQuery : {key : value},responseFields : "filed1 filed2 ..",populate : [{path : '',select:''}]}
router.post("/getProf",function(req,res){
res.setHeader('Content-Type', 'application/json');
console.log("#####p")
//connection a la base de donnée
var db = mongoose.connection;
mongoose.connect('mongodb://localhost:27017/test');
db.on('error',function(){
console.log(JSON.stringify({code : '001',message :"connection to database faild"},null));
res.send(JSON.stringify({code : '001',message :"connection to database faild"}));
mongoose.connection.close();
});
db.once('open',function(){
console.log("#####p2")
console.log("connection to database profs");
console.log("response is : ");
async.series([
function(callback){
var query = databaseModels.profs.find(req.body.searchQuery,req.body.responseFields);
//query.populate('createdBy');
if(req.body.populate)
for(var i = 0 ; i<req.body.populate.length ; i++){
query.populate(req.body.populate[i]);
}
//.populate('updatedBy')
//.populate({path : 'sendTo.id',select :'nom'})
query.exec(
function(err,profs){
if(err) return callback({code : '002',message :"database problem!!"},null);
callback(null,profs);
});
}
],
function(err,data){
if(err){
res.send(JSON.stringify(err,null,'\t'));
console.log(JSON.stringify(err,null,'\t'))
}
else{
res.send(JSON.stringify({code : "200",message:"",data : data[0]},null,'\t'));
console.log(JSON.stringify({code : "200",message:"",data : data[0]},null,'\t'))
}
console.log("connection to database prof closed");
mongoose.connection.close();
});
});
});
},{count : 4});
module.exports = router;