今天参考网上MongoDB的例子(https://www.cnblogs.com/wenbronk/p/6385935.html)写了个demo,发现MongoTemplate的getCollection方法返回值和例子上的不一样,就在想是不是版本的问题,然后就去翻了官方的API文档,发现这个方法,在1.9.x的时候还是com.mongodb.DBCollection类型,2.0以后就改成了com.mongodb.client.MongoCollection的类型,下面贴上两个版本的API参考下
MongoTemplate
版本:1.9.x及之前(https://docs.spring.io/spring-data/data-mongo/docs/1.9.x/api/)
public com.mongodb.DBCollection getCollection(String collectionName)
MongoOperations
Translate any exceptions as necessary.
-
Specified by:
-
getCollectionin interfaceMongoOperations
Parameters:
-
collectionName- name of the collection
Returns:
an existing collection or a newly created one.
版本:2.0.0及之后(https://docs.spring.io/spring-data/data-mongo/docs/2.0.0.BUILD-SNAPSHOT/api/)
public com.mongodb.client.MongoCollection<org.bson.Document> getCollection(String collectionName)
MongoOperations
Translate any exceptions as necessary.
-
Specified by:
-
getCollectionin interfaceMongoOperations
Parameters:
-
collectionName- name of the collection. Must not be null.
Returns:
- an existing collection or a newly created one.
是不是DBCollection这个类有什么bug,后来在版本升级的时候改变了方法的返回类型?
在学习MongoDB操作时,发现MongoTemplate的getCollection方法在不同版本间返回类型有所变化。1.9.x及以前版本返回的是DBCollection,而从2.0版本开始改为MongoCollection。这一变化可能是由于DBCollection可能存在的一些问题或为了适应更新的API设计。查阅官方文档确认了这一改动。
3655





