我想得到数据库中的表列表。
文件 tableList
命令说明此方法返回字符串列表,但事实并非如此。它实际上返回一个 TableList
对象。
当我跑的时候。。
r.db("test").tableList().run(conn);
我得到一个 Result<Object>
对象作为结果,其中一个条目实际上是 ArrayList
所有我想要的表名。
那么,这就是现在应该怎么做的:
Connection connection = r.connection().hostname(DEFAULT_HOSTNAME).port(DEFAULT_PORT).connect();
Object tableListObject = r.db(DEFAULT_DB_NAME).tableList().run(connection).single();
if (tableListObject instanceof Collection) {
List<?> tableList = new ArrayList<>((Collection<?>) tableListObject);
for(Object tableName : tableList) {
System.out.println(tableName);
}
}
对我来说似乎很复杂,有没有一个官方的/更好的方法?
我使用的是java驱动程序版本2.4.4。
1条答案
按热度按时间nfs0ujit1#
你可以利用
run()
方法,该方法允许您指定返回结果的类—在本例中是字符串数组:对我来说,这会在我的测试数据库中打印以下内容:
已更新以使用
List<?>
正如@johannes所建议的。