我正在尝试使用mongodb数据库在heroku上部署我的feathersJS应用程序。我使用了mLab沙箱计划,我没有配置任何东西。但由于我没有文件或任何先前有关它的问题。 我用mongodb制作了一个featherJS应用程序。但是当我在heroku上部署它时,我总是得到错误503,服务不可用(超时)。 这是在/config/default.json
中"mongodb": "mongodb://localhost:27017/api_feathers",
这条线可能有些变化。 这里是production.js
{ "host": "api-feathers-app.feathersjs.com", "port": "PORT" }
答案 0 :(得分:1)
如前所述,您可以将MongoDB网址添加到production.json
媒体资源中的mongodb
。 Heroku还会为大多数MongoDB插件设置MONGODB_URI
,您可以通过将production.json
更改为::
{
"host": "api-feathers-app.feathersjs.com",
"port": "PORT",
"mongodb": "MONGODB_URI"
}
答案 1 :(得分:0)
如果您登录mlab并转到数据库,您应该会看到一个连接字符串。在production.json
的底部,您应该添加一行来连接到mlab数据库。
类似的东西:
{
"host": "api-feathers-app.feathersjs.com",
"port": "PORT",
"mongodb": "mongodb://USERNAME:PASSWORD@ADDRESS-AT-MLAB:PORT/DB_NAME"
}
最后一行将在mlab设置中提供给您。另外,mlab可能需要在mongodb url末尾添加一些查询字符串,例如?ssl=true
。但他们会告诉你什么是必要的。
答案 2 :(得分:0)
登录到您的mlab帐户并创建一个新环境(如果尚未创建)。
然后单击数据库名称。它将显示包含集合,用户,统计信息,备份和工具的选项卡。
单击“用户”选项卡,它将显示分配给该数据库的用户列表。如果您尚未为此创建用户,则必须通过单击“添加数据库用户”按钮来创建用户。
创建用户后,将其添加到production.json
文件中。将此值作为值添加到mongodb
文件
production.json
键
mongodb://<dbuser>:<dbpassword>@ds115749.mlab.com:15749/<dbname>
将<dbuser>
替换为您之前创建的数据库用户名和<dbpassword>
与dbuser
关联的密码,并替换为您尝试访问的数据库的名称。
以下是production.json
文件的完整代码库
{
"host": "https://your.domainname.com/",
"port": "PORT",
"public": "../public/",
"paginate": {
"default": 10,
"max": 1000
},
"mongodb": "mongodb://<dbuser>:<dbpassword>@ds115749.mlab.com:15749/<dbname>",
}
请注意,default.json
适用于您的开发环境,而production.json
适用于您的生产,并在您在同一目录中部署文件时使用。