1 | var mongoose = require('mongoose');
|
2 | var promise = require('promise');
|
3 | mongoose.Promise = promise;
|
4 |
|
5 | var db = {};
|
6 | db.connect = function(contratante, aplicacao, callback_success, callback_error) {
|
7 |
|
8 | if (!global.DicionarioConexoes)
|
9 | global.DicionarioConexoes = [];
|
10 |
|
11 |
|
12 | contratante.contratantesIds.forEach(function(contratanteId) {
|
13 |
|
14 | var conexao = {};
|
15 | var connection = contratante.getDataBaseConnection(contratanteId, 'MONGODB', aplicacao);
|
16 |
|
17 | var url = 'mongodb://' + connection.Servidor + "/" + connection.BancoDeDados;
|
18 | var auth = {
|
19 | user: connection.Usuario,
|
20 | pass: connection.Senha
|
21 | };
|
22 | conexao.models = [];
|
23 | conexao.contratanteId = contratanteId;
|
24 | conexao.instancia = mongoose.createConnection(url, { config: { autoIndex: true }, ...auth }, function(error, teste) {
|
25 | if (error) {
|
26 | console.log("Erro ao conectar no MongoDb: " + error);
|
27 | if (callback_error)
|
28 | callback_error();
|
29 | if (process.env.NODE_ENV == 'production')
|
30 | process.exit();
|
31 | } else {
|
32 | console.log("MongoDb conectado.");
|
33 | if (callback_success)
|
34 | callback_success();
|
35 | }
|
36 | });
|
37 |
|
38 | global.DicionarioConexoes.push(conexao);
|
39 |
|
40 | });
|
41 | };
|
42 |
|
43 | db.staticConnect = function(connectionConfig, name, callback_success, callback_error) {
|
44 |
|
45 | if (!global.DicionarioConexoesEstaticas)
|
46 | global.DicionarioConexoesEstaticas = [];
|
47 |
|
48 |
|
49 | var conexao = {};
|
50 | var url = 'mongodb://' + connectionConfig.host + ":" + connectionConfig.port + "/" + connectionConfig.database;
|
51 | var auth = {
|
52 | user: connectionConfig.user,
|
53 | pass: connectionConfig.pass
|
54 | };
|
55 | conexao.models = [];
|
56 | conexao.name = name;
|
57 | conexao.instancia = mongoose.createConnection(url, { config: { autoIndex: true }, ...auth }, function(error, teste) {
|
58 | if (error) {
|
59 | console.log("Erro ao conectar no MongoDb: " + error);
|
60 | if (callback_error)
|
61 | callback_error();
|
62 | if (process.env.NODE_ENV == 'production')
|
63 | process.exit();
|
64 | } else {
|
65 | console.log("MongoDb conectado.");
|
66 | if (callback_success)
|
67 | callback_success();
|
68 | }
|
69 | });
|
70 |
|
71 | global.DicionarioConexoesEstaticas.push(conexao);
|
72 | };
|
73 |
|
74 |
|
75 |
|
76 |
|
77 | db.connectToRobbyson = function(url) {
|
78 | if (!mongoose.connection.readyState) {
|
79 | console.log(url);
|
80 |
|
81 | mongoose.connect(url, { config: { autoIndex: true }, useMongoClient: true }, function(error) {
|
82 | if (error) {
|
83 | console.log("Erro ao conectar no MongoDb: " + error);
|
84 | } else {
|
85 | console.log("MongoDb conectado!");
|
86 | }
|
87 | });
|
88 | }
|
89 | };
|
90 |
|
91 | module.exports = db; |
\ | No newline at end of file |