You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级mongodb-driver-sync后Morphia createDatastore不兼容新MongoClient对象

解决办法

核心问题是你当前使用的Morphia版本未适配MongoDB 4.x+的新驱动API,仅支持旧的com.mongodb.MongoClient类型。以下是两个可行方案:

方案一:升级Morphia到兼容版本(推荐)

Morphia 2.x及以上版本已经适配了新的MongoDB驱动,支持直接传入com.mongodb.client.MongoClient对象。

如果用Maven管理依赖,更新Morphia的依赖配置:

<dependency>
    <groupId>dev.morphia.morphia</groupId>
    <artifactId>morphia-core</artifactId>
    <version>2.3.7</version> <!-- 可替换为最新稳定版 -->
</dependency>

升级完成后,你原来的代码无需修改,直接就能正常运行:

client = MongoClients.create(settings);
datastore = morphia.createDatastore(client, databaseName);

方案二:临时使用旧驱动API创建MongoClient(不推荐)

如果暂时无法升级Morphia,可以用旧的废弃API创建com.mongodb.MongoClient对象,但这会让你失去升级新驱动的优势,且后续可能面临更多兼容性问题:

// 旧版API,已废弃,仅临时应急使用
com.mongodb.MongoClient oldClient = new com.mongodb.MongoClient(new MongoClientURI("你的连接字符串"));
datastore = morphia.createDatastore(oldClient, databaseName);

内容的提问来源于stack exchange,提问作者TimTwenny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 08:52:14