簡體   English   中英

MongoDB Java 錯誤驅動

[英]MongoDB Java wrong Driver

我在使用 MongoDB 時遇到了問題。 我使用 sudo apt-get install mongodb 將它安裝在我的 linux 服務器上。 當我現在嘗試將我的 java 驅動程序連接到它時,它說

引起:com.mongodb.MongoIncompatibleDriverException:此版本的驅動程序與它所連接的一個或多個服務器不兼容:ClusterDescription{type=STANDALONE, connectionMode=SINGLE, serverDescriptions=[ServerDescription{address=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

我怎么能解決這個問題?

如果您使用 Docker 封裝數據庫,我建議將您的 ubuntu 版本更改為 16.04LTS,然后您的 mongod 將默認安裝 2.6.10。

用java Driver運行就夠了,不需要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

Ubuntu 的默認 mongodb 包是(截至 2018 年)版本 2.4。 這是一個相當舊的版本,與 3.x 客戶端或 java 驅動程序不兼容。

從你的問題來看,我假設你沒有承諾使用舊版本,所以你可能想要使用 3.x 版

這需要做更多的工作,而不僅僅是鍵入 apt install。 您可以按照 MongoDB 網站上的方法進行操作:

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

嘗試刪除舊版本:

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM