MongoDB Java错误的驱动程序

时间:2018-01-31 14:11:36

标签: java linux mongodb

我遇到了MongoDB的问题。我用sudo apt-get install mongodb将它安装在我的linux服务器上。当我现在尝试连接我的java驱动程序时,它说

  

引起:com.mongodb.MongoIncompatibleDriverException:此版本   驱动程序与一个或多个服务器不兼容   它连接的是什么:ClusterDescription {type = STANDALONE,   connectionMode = SINGLE,   serverDescriptions = [{ServerDescription地址127.0.0.1 =:27017,   type = STANDALONE,state = CONNECTED,ok = true,   version = ServerVersion {versionList = [2,4,10]},minWireVersion = 0,   maxWireVersion = 0,maxDocumentSize = 16777216,   roundTripTimeNanos = 708358}]}

我在服务器上的mongodb版本早于我的驱动程序版本。 我的java驱动版本是3.6 mongo-version告诉我2.4

我如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

如果您使用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

答案 1 :(得分:0)

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

从您的问题判断,我认为您并未承诺使用旧版本,因此您可能希望使用版本3.x

这需要更多的工作,而不仅仅是输入apt install。您可以按照MongoDB网站上的食谱进行操作:

https://docs.mongodb.com/tutorials/install-mongodb-on-ubuntu/

答案 2 :(得分:0)

尝试删除旧版本:

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

然后按https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/安装最新的官方版本。