0

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

我试过这样: Class.forName("com.simba.mongodb.jdbc4.Driver");

        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));
        }

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

4

2 回答 2

0

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

于 2018-04-18T08:40:06.007 回答
0

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

于 2018-08-13T20:34:19.517 回答