创建干净的Vapor项目(使用流畅)会导致MongoKitten运行时错误

时间:2017-10-24 20:31:57

标签: swift mongodb fluent vapor mongokitten

我设法使用MongoDB设置Vapor并使其正常工作但是如果我执行一个新的干净项目,我会从MongoKitten获得运行时错误。详细说明:

我有一个过时的蒸汽项目,从2017年7月27日起正常工作。 我现在做同样的项目24/10/2017。 当它第一次编译时,我收到以下警告(不知道是否与以下错误相关):

Warning Screenshot

编译完成,运行项目时出现以下错误:

Error Screenshot

我只知道这是由main.swift中的准备步骤引起的,例如这里:

config.preparations.append(User.self)

如果没有这一步,我就不会遇到任何运行时错误(但是与mongodb的流畅连接也不能正常工作)。

我的配置非常简单:

Config Screenshot

这在Swift 3.1.1中发生,但在Swift 4.0中也是如此。环境是Ubuntu 17.04。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

MongoDB的$addFields阶段需要 MongoDB 3.4或更高版本(我们几乎是3.6,所以3.4是最新版本)。我假设您正在运行MongoDB 3.2或更低版本。 Ubuntu的官方APT存储库长期以来一直是MongoDB官方版本的幕后推手。一些ubuntu版本仍将安装MongoDB弃用的2.6版本。

解决方案是安装官方最新的MongoDB服务器as described here.