【问题标题】:Sails.js MongoDB in bluemix not workingBluemix 中的 Sails.js MongoDB 无法正常工作
【发布时间】:2016-08-24 14:08:32
【问题描述】:

我有一个使用sails.js 框架的node.js 应用程序,我正在尝试在bluemix 云服务上部署这个应用程序。

我正在 compose.io 中尝试一个 MongoDB 实例,并且我的 local.js 文件中有一个相当标准的连接配置:

connectMongo: {
adapter: 'sails-mongo',
host: 'sl-eu-lon-2-portal.1.dblayer.com',
port: 10438,
database: 'some-db'
}

它不工作。它没有部署。 它给出的错误是:

ERR error: A hook (`orm`) failed to load!
ERR error: Error: Failed to connect to MongoDB. 

当然,这意味着数据库是 但奇怪的是它也给出了这个

ERR { [MongoError: connect ECONNREFUSED 127.0.0.1:27017]

这没有任何意义,因为我没有使用端口 27017,如上所述,我使用的是 10438。 该应用程序在本地运行,所以我知道我在通过 bluemix 配置连接到数据库时遗漏了一些东西,但我不明白 27017 是如何出现在那里的。

【问题讨论】:

  • 您也可以尝试直接向 Compose.io Support 提出这个问题。他们为所有用户提供基于电子邮件的支持,并且可能能够阐明端口问题。 help.compose.com/docs/compose-email-support
  • 我感觉这并不是真正的撰写问题。即使我使用 MongoDB 的另一个来源,我也遇到了同样的问题
  • 您能否添加您要连接到 MongoDB 的代码?请注意,问题不仅在于端口号,而且您正在尝试连接到本地 MongoDB - 127.0.0.1,因此您的代码没有读取您提供的 connectMongo 信息。
  • 我在上面的代码中定义了连接。我在 models.js 配置文件中指定了连接:'connectMongo'

标签: javascript node.js mongodb sails.js ibm-cloud


【解决方案1】:

所以您的设置似乎是正确的。将其与我的设置进行比较:

env/production.js

connections: {
    prodMongoDb: {
        adapter: 'sails-mongo',
        host: process.env.MONGO_PORT_27017_TCP_ADDR,
        port: 27017,
        database: 'my_database'
    }
},

models: {
    connection: 'prodMongoDb',
    migrate: 'safe' 
}

env/development.js

connections: {
    devMongoDb: {
        adapter: 'sails-mongo',
        host: 'localhost',
        port: 27017,
        database: 'my_database'
    }
},

models: {
    connection: 'devMongoDb',
    migrate: 'safe'
}

您指定端口 10438 但收到有关 27017 的错误意味着sails 没有选择您的连接定义。您如何启动您的应用程序?

这样开始:

npm start NODE_ENV="production"

将使sails 获取生产配置。

【讨论】:

    猜你喜欢
    • 2019-08-30
    • 2018-03-10
    • 1970-01-01
    • 2023-03-29
    • 2020-10-20
    • 1970-01-01
    • 2019-06-17
    • 2021-05-11
    • 1970-01-01
    相关资源
    最近更新 更多