2013-10-04 2 views

ответ

0

Согласно Heroku docs, формату URI для плана одноузлового MongoLab является:

mongodb://dbuser:[email protected]:port/dbname 

Вы можете использовать регулярные выражения (и/или другие функции String) для извлечения необходимых переменных для создания вашего MongoStore:

function createDBSettings(mongoLabURI) { 
    var dbSettings = {}, 
     regexp = /^mongodb:\/\/(\w+):(\w+)@(\w+):(\w+)\/(\w+)$/, 
     matches = regexp.match(mongoLabURI); 

    dbSettings.dbname = matches[5]; 
    dbSettings.host = matches[3]; 
    dbSettings.port = matches[4]; 
    dbSettings.username = matches[1]; 
    dbSettings.password = matches[2]; 

    return dbSettings; 
} 

var MongoStore = require('connect-mongo')(express); 
var store = new MongoStore(createDBSettings(process.env.MONGOLAB_URI)); 

Вы должны быть в состоянии сделать то же самое для URI кластерного плана.


Посмотрите на исходный код node-mongodb-native. Разбор URI происходит на MongoClient.connect().

Смежные вопросы