Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.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
MongoDB Java错误的驱动程序_Java_Linux_Mongodb - Fatal编程技术网

MongoDB Java错误的驱动程序

MongoDB Java错误的驱动程序,java,linux,mongodb,Java,Linux,Mongodb,我对MongoDB有意见。我用sudo apt get install mongodb在linux服务器上安装了它。当我现在尝试用java驱动程序连接到它时,它说 原因:com.mongodb.MongoIncompatibleDriverException:此版本 驱动程序的版本与要安装的一个或多个服务器不兼容 它所连接的:ClusterDescription{type=STANDALONE, connectionMode=单个, serverDescriptions=[ServerDescr

我对MongoDB有意见。我用sudo apt get install mongodb在linux服务器上安装了它。当我现在尝试用java驱动程序连接到它时,它说

原因:com.mongodb.MongoIncompatibleDriverException:此版本 驱动程序的版本与要安装的一个或多个服务器不兼容 它所连接的:ClusterDescription{type=STANDALONE, connectionMode=单个, serverDescriptions=[ServerDescription{address=127.0.0.1:27017, 类型=独立,状态=已连接,正常=真, version=ServerVersion{versionList=[2,4,10]},minWireVersion=0, maxWireVersion=0,maxDocumentSize=16777216, RoundTripTimeNano=708358}]}

服务器上我的mongodb版本比我的驱动程序版本旧。 我的java驱动程序版本是3.6 mongo版本向我展示了2.4


如何解决这个问题?

Ubuntu的默认mongodb包是(从2018年起)2.4版。这是一个相当旧的版本,与3.x客户端或java驱动程序不兼容

从您的问题判断,我假设您没有承诺使用遗留版本,所以您可能会希望使用版本3.x

这需要比键入apt install更多的工作。您可以按照MongoDB网站上的配方进行操作:


尝试删除旧版本:

sudo apt-get purge --auto-remove mongodb-server

然后按照以下步骤安装最新的官方版本

如果您使用Docker包装您的数据库,我建议您将ubuntu版本更改为16.04LTS,然后您的mongod将默认安装2.6.10

用java驱动程序运行就足够了,不需要使用3.x

以下是Dockerfile:

FROM ubuntu:16.04

RUN apt-get update && apt-get install -yq mongodb && apt-get clean && rm -rf /var/lib/apt/lists/*

ENTRYPOINT mongod --dbpath /data/db --rest

3.6对我来说是最新的。问题已经解决了。我安装了mongodb,下载文件并手动安装。