java-使用对Mongodb Collection的静态引用
作者:互联网
我为Mongodb使用Spring Data,有时我以这种方式使用java驱动程序:
DBCollection mycoll = mongoOperations.getCollection("mycoll");
使集合mycoll静态并通过Singleton实例化它是否有意义?
解决方法:
为此,您不需要Singleton,仅当您只能拥有一个实例并且需要管理该实例时,才需要Singleton,请参见此post.Java Mongo驱动程序的源代码表明,对于MongoDB并非如此集合. “ getCollection”方法仅验证集合是否存在于collectionCache(哈希映射)中,并且不执行任何数据库操作,因此多次调用它的开销很小.请参见以下来自https://github.com/mongodb/mongo-java-driver的相关代码段
/**
* Gets a collection with a given name.
*
* @param name the name of the collection to return
* @return the collection
*/
public DBCollection getCollection(final String name) {
DBCollection collection = collectionCache.get(name);
if (collection != null) {
return collection;
}
标签:mongodb,spring-data,java 来源: https://codeday.me/bug/20191119/2036986.html