通过Simba JDBC驱动程序列出mongoDB的所有数据库

时间:2018-04-07 12:08:39

标签: mongodb jdbc simba

我是MongoDB的新手。如何通过Simba JDBC驱动程序列出mongodb的所有数据库。已经尝试了很多,但我只能得到数据库的名称,通过它我建立了连接URL。甚至,我不确定,这是否可能获得所有数据库的列表?

我试过这种方式:             的Class.forName(" com.simba.mongodb.jdbc4.Driver&#34);

        Connection conn = DriverManager              
          .getConnection("jdbc:mongodb://admin:admin@localhost:27017/admin);

      //In the getConnection parameters, last admin is the name of database. 

        DatabaseMetaData dbmd = conn.getMetaData();

        ResultSet ctlgs = dbmd.getCatalogs();

        while (ctlgs.next()){
            System.out.println("ctlgs="+ctlgs.getString(1));
        }

但是,它只提供连接的数据库名称。 感谢帮助。

2 个答案:

答案 0 :(得分:0)

在连接url中,将属性LoadMetadataTable设置为true,默认情况下为false。 例如jdbc:mongodb://jsmith:pass12345@localhost:18000/TeamRoster?A uthMechanism=SCRAM-SHA-1&LoadMetadataTable=true

答案 1 :(得分:0)

在使用适用于mongodb的Simba jdbc驱动程序时,我得到了答案。实际上,在连接字符串中,数据库名称是必需的。现在,如果从mongodb端启用了身份验证,那么我们将仅获得一个在连接字符串中提到的数据库名称作为输出。如果禁用了身份验证,那么我们将获得所有数据库的列表作为输出。