Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ MongoDB服务器与Mongo C++;司机_C++_Mongodb - Fatal编程技术网

C++ MongoDB服务器与Mongo C++;司机

C++ MongoDB服务器与Mongo C++;司机,c++,mongodb,C++,Mongodb,我是MongoDB的新手。我的虚拟机使用mongod运行Ubuntu 14.04.5,这是该操作系统的标准配置: hekto@ubuntu:~$ mongod --version db version v2.4.9 Tue Jun 5 18:00:23.923 git version: nogitversion 我从源代码中构建了一个蒙哥C++驱动程序3.2.0,并尝试编写一些测试。它们都输出以下异常: Server at localhost:27017 reports wire versi

我是MongoDB的新手。我的虚拟机使用
mongod
运行Ubuntu 14.04.5,这是该操作系统的标准配置:

hekto@ubuntu:~$ mongod --version
db version v2.4.9
Tue Jun  5 18:00:23.923 git version: nogitversion
我从源代码中构建了一个蒙哥C++驱动程序3.2.0,并尝试编写一些测试。它们都输出以下异常:

Server at localhost:27017 reports wire version 0, but this version of libmongoc requires at least 3 (MongoDB 3.0): generic server error 
<>看起来,C++客户端和服务器不兼容。

有什么技巧,可以与Mongo C++驱动程序一起使用,迫使它与旧的Mongo服务器一起工作吗?< /P>


目前,我无法将数据库本身转换为任何新格式,但也不想学习过时的驱动程序API。

MongoDB 2.4.9已经过时一段时间了:,而且大多数驱动程序都不再支持与它对话

如果您刚刚开始使用MongoDB,那么应该从最新的稳定版本开始,目前是3.6.5


您可以根据此处的说明获取Ubuntu 14.04的软件包

我已经尝试过了,但遇到了数据库格式的问题。将现有数据库转换为当前支持的格式有什么简单的方法吗?@HEKTO升级可能很有挑战性,这不是我的专业领域。不过,一个想法是利用复制。我建议你问一个关于如何从2.4升级到3.6的问题。如果你能接受停机时间,那就容易多了。但正如我所说,这不是我非常了解的领域。这就是说,MongoDB 3.6是一款比2.4优越得多的产品,您应该尽一切努力摆脱2.4FYI旧版本的库,它与MongoDB 3.0之前的版本兼容,还使用MongoDB-CR进行身份验证。即将发布的MongoDB 4.0版本将完全取消对此的支持。如果您想支持较旧的服务器,那么您可以自己在库周围创建包装器。注意下面的评论,请不要把它变成“我如何升级”,因为这个问题是单独的,已经回答过了,而且作为一个非编程问题是“离题的”。