我设法使用MongoDB设置Vapor并使其正常工作但是如果我执行一个新的干净项目,我会从MongoKitten获得运行时错误。详细说明:
我有一个过时的蒸汽项目,从2017年7月27日起正常工作。 我现在做同样的项目24/10/2017。 当它第一次编译时,我收到以下警告(不知道是否与以下错误相关):
编译完成,运行项目时出现以下错误:
我只知道这是由main.swift中的准备步骤引起的,例如这里:
config.preparations.append(User.self)
如果没有这一步,我就不会遇到任何运行时错误(但是与mongodb的流畅连接也不能正常工作)。
我的配置非常简单:
这在Swift 3.1.1中发生,但在Swift 4.0中也是如此。环境是Ubuntu 17.04。
我该如何解决这个问题?
答案 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.