我是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));
}
但是,它只提供连接的数据库名称。 感谢帮助。
答案 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端启用了身份验证,那么我们将仅获得一个在连接字符串中提到的数据库名称作为输出。如果禁用了身份验证,那么我们将获得所有数据库的列表作为输出。