swift - 设置 Vapor 和 MongoKitten

标签 swift mongodb heroku atlassian-sourcetree vapor

在本地主机 (0.0.0.0:8080) 上成功部署后 当我将代码推送到 heroku 的 git 时, 我在 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 遗漏了一些东西。 由于相同的代码在另一台机器上结帐后也不起作用。代码编译完美。

最佳答案

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

heroku addons:create heroku-postgresql:hobby-dev

经过一些 minits 准备:

heroku config

应该有网址

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

我们的文本编辑器并将其更新为如下所示。

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 confog 名称(取决于您使用的是哪个 mongo 插件)

关于swift - 设置 Vapor 和 MongoKitten,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41920143/

相关文章:

javascript - 如何处理 MEAN 应用程序中的数据库更改

node.js - 如何在 node.js 中使用 mongodb 游标

ruby-on-rails - 强制使用旧版本的依赖 gem

ios - Swift 中的“NSInternalInconsistencyException”

swift - 在 Swift 中将 double 转换为十六进制表示法

MongoDB 如何使用 $date 运算符进行查询?

node.js - Heroku 将 Clojure 应用程序检测为 Node.js 应用程序

ios - Swift 4 搜索栏中的搜索过滤器问题

swift - 如何防止函数在 Swift 4 中生成相同的随机数集

Grails 和盆景 Elasticsearch