Как использовать URL базы данных mLab для локального приложения node.js? - PullRequest
0 голосов
/ 21 мая 2019

У меня есть локальное приложение node.js, которое использует локальную базу данных MongoDB.Но сейчас я хочу использовать mlab в качестве базы данных.Я получил URL от mlab, но всякий раз, когда я пытаюсь подключить его к своему локальному приложению, я получаю эту ошибку:

MongoError: not authorized on admin to execute command.

Вот так выглядит локальный скрипт;

// build mongo database connection url //

process.env.DB_HOST = process.env.DB_HOST || 'localhost'
process.env.DB_PORT = process.env.DB_PORT || 27017;
process.env.DB_NAME = process.env.DB_NAME || 'node-login';

if (app.get('env') != 'live'){
    process.env.DB_URL = 'mongodb://'+process.env.DB_HOST+':'+process.env.DB_PORT;
}   else {
// prepend url with authentication credentials // 
    process.env.DB_URL = 'mongodb://'+process.env.DB_USER+':'+process.env.DB_PASS+'@'+process.env.DB_HOST+':'+process.env.DB_PORT;
}

app.use(session({
    secret: 'faeb4453e5d14fe6f6d04637f78077c76c73d1b4',
    proxy: true,
    resave: true,
    saveUninitialized: true,
    store: new MongoStore({ url: process.env.DB_URL })
    })
);

Я получил следующий ключ из моей учетной записи mlab;mongodb://mongo:xxxxxxxxxx@ds259586.mlab.com:59586/heroku_t8xqw6t1

Как мне заполнить вышеприведенный оператор if / else той ссылкой, которую я получил?

Я хочу заменить вышеуказанный URL-адрес старым локальным.Так что mlab становится моей локальной базой данных.

...