2.x 迁移到 3.x 指南

Spring Data MongoDB 3.x 需要 MongoDB Java 驱动程序 4.x
要了解有关驱动程序版本的更多信息,请访问 MongoDB 文档

依赖项更改

  • org.mongodb:mongo-java-driver(uber jar)已被替换为

    • bson-jar

    • core-jar

    • sync-jar

依赖项的更改允许使用响应式支持,而无需拉取同步驱动程序。注意:新的同步驱动程序不再支持com.mongodb.DBObject。请改用org.bson.Document

签名更改

  • MongoTemplate不再支持com.mongodb.MongoClientcom.mongodb.MongoClientOptions。请改用com.mongodb.client.MongoClientcom.mongodb.MongoClientSettings

如果您使用的是AbstractMongoConfiguration,请切换到AbstractMongoClientConfiguration

命名空间更改

切换到com.mongodb.client.MongoClient需要更新您的配置文件(如果存在)。提供所需连接信息的最佳方法是使用连接字符串。有关详细信息,请参阅 MongoDB 文档

<mongo:mongo.mongo-client id="with-defaults" />
<context:property-placeholder location="classpath:..."/>

<mongo:mongo.mongo-client id="client-just-host-port"
                          host="${mongo.host}" port="${mongo.port}" />

<mongo:mongo.mongo-client id="client-using-connection-string"
                          connection-string="mongodb://${mongo.host}:${mongo.port}/?replicaSet=rs0" />
<mongo:mongo.mongo-client id="client-with-settings" replica-set="rs0">
		<mongo:client-settings cluster-connection-mode="MULTIPLE"
							   cluster-type="REPLICA_SET"
							   cluster-server-selection-timeout="300"
							   cluster-local-threshold="100"
							   cluster-hosts="localhost:27018,localhost:27019,localhost:27020" />
	</mongo:mongo.mongo-client>