Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java应用程序无法识别MongoDB数据库中的集合。_Mongodb_Jakarta Ee_Mongo Collection - Fatal编程技术网

Java应用程序无法识别MongoDB数据库中的集合。

Java应用程序无法识别MongoDB数据库中的集合。,mongodb,jakarta-ee,mongo-collection,Mongodb,Jakarta Ee,Mongo Collection,我正在创建一个简单的web应用程序,并尝试将该应用程序连接到MongoDB。这是我建立连接的课程 公共类JavaMongoDBConnection{ public static void main(String[] args) { try { MongoClient mongoClient = null; mongoClient = new MongoClient(); List<String> databases = mongoClien

我正在创建一个简单的web应用程序,并尝试将该应用程序连接到MongoDB。这是我建立连接的课程

公共类JavaMongoDBConnection{

public static void main(String[] args) {
    try {
    MongoClient mongoClient = null;

        mongoClient = new MongoClient();

    List<String> databases = mongoClient.getDatabaseNames();

    for(String dbName: databases) {
        System.out.println("Databases: " + dbName);

        DB db  = mongoClient.getDB(dbName);

        Set<String> collections = db.getCollectionNames();

        for(String colName : collections) {
            System.out.println("\t + Collection: "+colName);

        }

    }
    mongoClient.close();


    } catch (UnknownHostException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
publicstaticvoidmain(字符串[]args){
试一试{
MongoClient MongoClient=null;
mongoClient=新的mongoClient();
List databases=mongoClient.getDatabaseNames();
for(字符串dbName:databases){
System.out.println(“数据库:“+dbName”);
DB=mongoClient.getDB(dbName);
Set collections=db.getCollectionNames();
for(字符串colName:collections){
System.out.println(“\t+集合:“+colName”);
}
}
mongoClient.close();
}捕获(未知后异常e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
} }

当我将这个类作为Java应用程序运行时,这就是我的结果

数据库:管理员 数据库:预算 数据库:配置 数据库:db 数据库:本地 数据库:myTestDB

但是,当我转到terminal并运行以下命令时,以下是我的结果

  • 放映星展
  • 答复: 管理0.000GB 预算0.000GB 配置0.000GB db 0.000GB 本地0.000GB myTestDB 0.000GB

  • 使用myTestDB

  • 展示收藏

  • 答复: 预算 预算 菌落


    那么,为什么在我运行这个java应用程序时,Budget、Budget和myCollection没有出现呢???

    如果您使用的是当前版本的MongoDB java驱动程序(当前),请使用
    MongoDatabase
    而不是
    DB

    MongoClient mongoClient = new MongoClient();
    
    for(String databaseName : mongoClient.listDatabaseNames()) {
        System.out.println("Database: " + databaseName);
    
        MongoDatabase db = mongoClient.getDatabase(databaseName);
    
        for(String colName : db.listCollectionNames()) {
            System.out.println("\t + Collection: " + colName);
        }
    }
    
    mongoClient.close();
    
    上述代码的输出应类似于以下内容:

    Database: admin
             + Collection: system.version
    Database: config
             + Collection: system.sessions
    Database: local
             + Collection: startup_log
    Database: test
             + Collection: testcoll1
             + Collection: testcoll2