Развертывание SailsJS на Heroku, подключение к Mongolabs MongoDB

Прямо сейчас я пытаюсь выполнить свое первое развертывание на Heroku API SailsJS. Мое приложение использует SailsJS v0.11 иsails-mongo 0.11.2.

Я обновил config/connections.js, включив в него информацию о подключении к базе данных MongoDB, которую я бесплатно разместил на Mongolab.

mongodb: {
    adapter: 'sails-mongo',
    url: "mongodb://db-user:[email protected]:47812/testing-db"
}

Также обновлен config/models.js, чтобы указать на этот адаптер.

module.exports.models = {
    connection: 'mongodb',
    migrate: 'safe'
};

Это в основном все, что я изменил после запуска кода локально, когда я развертываю на Heroku, приложение вылетает, и я получаю эту ошибку ...

/home/zacharyhustles/smallChangeAPI/node_modules/connect-mongo/lib/connect-mongo.js:186
      throw err;
            ^
at Socket.emit (events.js:107:17)
2015-07-08T19:37:00.778316+00:00 app[web.1]:     
at Socket.<anonymous> (/app/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/connection/connection.js:534:10)
Error: Error connecting to database: failed to connect to [localhost:27017]

Как мне избавиться от этого и убедиться, что Sails не пытается подключиться к localhost db?


person Zach Cook    schedule 08.07.2015    source источник


Ответы (1)


Хорошо, проблема была в хранении сессий.

Мое решение состояло в том, чтобы настроить базу данных Redis для хранения сеансов.

В config/sessions.js убедитесь, что все закомментировано, кроме метода, который вы хотите использовать для хранилища сеансов.

Мой выглядел так:

adapter: 'redis',
host: 'example.redistogo.com',
port: 1111,
db: '/redistogo',
pass: 'XXXXXYYYYYYXYXYXYYX',

Это решило мою опубликованную проблему, надеюсь, это поможет другому человеку.

person Zach Cook    schedule 08.07.2015
comment
Большое спасибо, я стараюсь, если многие думают, что эта ошибка вызывала, потому что sails-mongo не использовал параметры конфигурации производства, но сеансы, большое спасибо, очень помогают. - person overallduka; 21.09.2015