【问题标题】:Setting up Vapor and MongoKitten设置 Vapor 和 MongoKitten
【发布时间】:2017-06-14 16:18:57
【问题描述】:

在 localhost (0.0.0.0:8080) 上成功部署后 当我将代码推送到 git for heroku 时, 我在 heroku 上遇到错误。

Cannot connect to MongoDB
Process exited with status 0

我添加的内部包文件

dependencies: [
        .Package(url: "https://github.com/vapor/vapor.git", majorVersion: 1, minor: 1),
        .Package(url: "https://github.com/OpenKitten/MongoKitten.git", majorVersion: 3)
    ],

在 main.swift 中程序存在于这一行

let mongoDatabase = try Database(mongoURL: "mongodb://localhost/mydatabase")

附加信息:我相信在提交时,SourceTree 会遗漏一些东西。 由于在另一台机器上结帐后,相同的代码也不起作用。并且代码编译完美。

【问题讨论】:

  • 我认为您需要更改 mongoURL
  • 还建议更改为...?
  • 您的 mongodb 主机可以告诉您这一点。如果它是来自 heroku 的服务,那么在你的 heroku dashbard 中
  • 应该是:heroku config:setMONGOLAB_URI=mongodb://username:password@ds01316.mlab.com:1316/food(见forum.freecodecamp.com/t/…
  • 我按照这个教程... medium.com/@joannis.orlandos/…

标签: swift mongodb heroku atlassian-sourcetree vapor


【解决方案1】:

这里是如何获取 postgres 的 DATABASE_URL 的信息,但对于 mongo DB 应该是一样的:

heroku addons:create heroku-postgresql:hobby-dev

经过一些小准备:

heroku config

应该有网址

在您的Procfile(您使用vapor init 创建)中,您可以添加数据库网址:

我们的文本编辑器并更新它,如下所示。

web: App --env=production --workdir="./"
web: App --env=production --workdir=./ --config:servers.default.port=$PORT --config:postgresql.url=$DATABASE_URL

这是我们添加的数据库 url --config:postgresql.url=$DATABASE_URL

保存Procfile 并输入git push heroku master

一段时间后它应该可以工作了。

您应该将名称 postgresql.url 更改为您的 mongo db 配置名称(取决于您使用的 mongo 插件)

【讨论】:

    猜你喜欢
    • 2016-12-24
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-20
    • 2018-05-09
    • 1970-01-01
    相关资源
    最近更新 更多