你是对的。似乎MongoDB驱动程序的3.0.x版本没有通过直接的“ 是否存在集合? ”方法移植到MongoDatabase
。
正如您已经提到的,您可以选择的一种方法是遍历的结果listCollectionNames()
。尽管这似乎无效,但它与该方法的实现 非常 相似DB.collectionExists(String)
。下面的代码段是从mongo-java- driver源中的DB.java
类复制的:
public boolean collectionExists(final String collectionName) {
Set<String> collectionNames = getCollectionNames();
for (final String name : collectionNames) {
if (name.equalsIgnoreCase(collectionName)) {
return true;
}
}
return false;
}
你也可以得到DB
,而不是MongoDatabase
从MongoClient
调用getDB
方法。这样就可以访问 *** __
结果,您需要反复进行迭代listCollectionNames
。