我遇到了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
我如何解决这个问题?
答案 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/安装最新的官方版本。