13
13
*/
14
14
15
15
var _ = require ( 'lodash' )
16
- var mongoose = require ( 'mongoose' )
17
16
var nconf = require ( 'nconf' )
17
+ var mongoose = require ( 'mongoose' )
18
18
var winston = require ( 'winston' )
19
19
20
20
var db = { }
21
+ var mongoConnectionUri = {
22
+ server : process . env . MONGODB_SERVER || nconf . get ( 'mongo:host' ) ,
23
+ port : process . env . MONGODB_PORT || nconf . get ( 'mongo:port' ) || '27017' ,
24
+ username : process . env . MONGODB_USERNAME || nconf . get ( 'mongo:username' ) ,
25
+ password : process . env . MONGODB_PASSWORD || nconf . get ( 'mongo:password' ) ,
26
+ database : process . env . MONGODB_DATABASE ? 'trudesk_' + process . env . MONGODB_DATABASE : nconf . get ( 'mongo:database' )
27
+ }
21
28
22
- var dbPassword = encodeURIComponent ( nconf . get ( 'mongo:password' ) )
23
-
24
- var CONNECTION_URI =
25
- 'mongodb://' +
26
- nconf . get ( 'mongo:username' ) +
27
- ':' +
28
- dbPassword +
29
- '@' +
30
- nconf . get ( 'mongo:host' ) +
31
- ':' +
32
- nconf . get ( 'mongo:port' ) +
33
- '/' +
34
- nconf . get ( 'mongo:database' )
29
+ var CONNECTION_URI = ''
30
+ if ( ! mongoConnectionUri . username )
31
+ CONNECTION_URI =
32
+ 'mongodb://' + mongoConnectionUri . server + ':' + mongoConnectionUri . port + '/' + mongoConnectionUri . database
33
+ else {
34
+ mongoConnectionUri . password = encodeURIComponent ( mongoConnectionUri . password )
35
+ CONNECTION_URI =
36
+ 'mongodb://' +
37
+ mongoConnectionUri . username +
38
+ ':' +
39
+ mongoConnectionUri . password +
40
+ '@' +
41
+ mongoConnectionUri . server +
42
+ ':' +
43
+ mongoConnectionUri . port +
44
+ '/' +
45
+ mongoConnectionUri . database
46
+ }
35
47
36
48
var options = {
37
49
keepAlive : 1 ,
@@ -43,7 +55,6 @@ var options = {
43
55
module . exports . init = function ( callback , connectionString , opts ) {
44
56
if ( connectionString ) CONNECTION_URI = connectionString
45
57
if ( opts ) options = opts
46
- if ( ! _ . isUndefined ( process . env . MONGOHQ_URL ) ) CONNECTION_URI = process . env . MONGOHQ_URL . trim ( )
47
58
48
59
if ( db . connection ) {
49
60
return callback ( null , db )
0 commit comments