使用mongodb部署feathersjs应用程序

时间:2018-03-07 16:02:05

标签: mongodb heroku mlab feathersjs

我正在尝试使用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" }

3 个答案:

答案 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适用于您的生产,并在您在同一目录中部署文件时使用。