mongodb - SailsJS 部署到 Heroku,连接到 Mongolabs MongoDB

标签 mongodb heroku sails.js sails-mongo

我现在正在尝试首次 Heroku 部署 SailsJS API。我的应用程序使用 SailsJS v0.11 和 sails-mongo 0.11.2。

我已经更新了 config/connections.js 以包含我在 Mongolab 免费托管的 MongoDB 数据库的连接信息.

mongodb: {
    adapter: 'sails-mongo',
    url: "mongodb://db-user:<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e494859797938b9680d5d6d7a48097d4d0d3dcd5d6ca898b8a838b888586ca878b89" rel="noreferrer noopener nofollow">[email protected]</a>: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 不会尝试连接到本地主机数据库?

最佳答案

好的,问题出在存储 session 上。

我的解决方案是设置一个 Redis 数据库来存储 session 。

config/sessions.js中,确保除了您想要用于 session 存储的方法之外的所有内容都被注释掉。

我的看起来像这样:

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

这解决了我发布的问题,希望这可以帮助其他人。

关于mongodb - SailsJS 部署到 Heroku,连接到 Mongolabs MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31302172/

相关文章:

c# - 将 POCO 模型转换为 MongoDB 的 Bson 格式

mongodb - Centos 7.2 上的防火墙配置

heroku - 将舒适的墨西哥沙发 cms 图像从 s3 存储桶上传到 heroku

mongodb - open edx如何将类(class)内容数据存储到mongo数据库中?

java - for 循环而不是 while 循环中的游标功能?

python - 如何使用 SQLAlchemy + postgreSQL 减少连接数?

amazon-web-services - 如何从 Heroku 迁移到 Amazon Web Services (AWS)

javascript - 如何路由到 sails.js 中的函数

javascript - sails.js - 内部 'production' 设置或配置

node.js - sails.js 中的多个单独聊天