com.mongodb.client.MongoClient 和 com.mongodb.MongoClient 的区别
Posted
技术标签:
【中文标题】com.mongodb.client.MongoClient 和 com.mongodb.MongoClient 的区别【英文标题】:Differences between com.mongodb.client.MongoClient and com.mongodb.MongoClient 【发布时间】:2020-06-01 15:49:12 【问题描述】:我对 MongoDB 有点陌生,我对 MongoClient 类感到困惑,因为在不同的包中有两个(com.mongodb.client.MongoClient
和 com.mongodb.MongoClient
)。我所看到的是它们或多或少有相同的目的,但我可能是错的。
这两个类之间有什么区别?是否推荐其中一个而不是另一个?
【问题讨论】:
在MongoDB Java Driver 3.12 (reference) 文档中,com.mongodb.client.MongoClient mongoClient = MongoClients.create();
是创建MongoClient
对象的方式,而传统方式 是com.mongodb.MongoClient mongoClient = new MongoClient();
。这表明com.mongodb.client.MongoClient
是您可以考虑使用的。我想这取决于您使用的驱动程序软件的版本。在驱动程序版本 3.7 之前,只有一个选项:com.mongodb.MongoClient
。
【参考方案1】:
使用 com.mongodb.client.MongoClient.create()
(3.7 或更高版本),旧版 api com.mongodb.MongoClient()
已弃用。
com.mongodb.client.MongoClient
实例代表一个数据库连接池;即使有多个线程,您也只需要一个 MongoClient 类的实例。
参考:http://mongodb.github.io/mongo-java-driver/3.12/driver/tutorials/connect-to-mongodb/
com.mongodb.client.MongoClient
从 3.7 版本开始添加,使用以下代码获取具有新 API 的实例:
MongoClient mongoClient = MongoClients.create()
【讨论】:
这个是mongoDB 3.7版本还是驱动版本?以上是关于com.mongodb.client.MongoClient 和 com.mongodb.MongoClient 的区别的主要内容,如果未能解决你的问题,请参考以下文章