数据库
首页 > 数据库> > java-使用对Mongodb Collection的静态引用

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