如何通过\MongoDB\Driver\Manager实例列出数据库?
通过MongoDB\Driver\Manager列出数据库
直接使用MongoDB\Driver\Manager执行listDatabases数据库命令即可,这也是MongoDB\Client::listDatabases()底层的实现逻辑。具体步骤如下:
如果你还没有
Manager实例,先初始化(你已经在使用该类管理连接可跳过这一步):$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');构造
listDatabases命令:$command = new MongoDB\Driver\Command(['listDatabases' => 1]);在
admin数据库上执行该命令(listDatabases属于全局管理命令,必须在admin库执行):try { $cursor = $manager->executeCommand('admin', $command); // 将游标转换为数组,提取数据库列表 $result = $cursor->toArray(); $databases = $result[0]['databases']; // 遍历输出数据库信息 foreach ($databases as $db) { echo "数据库名:{$db['name']},磁盘占用:{$db['sizeOnDisk']}字节\n"; } } catch (MongoDB\Driver\Exception\Exception $e) { die("执行命令失败:{$e->getMessage()}"); }
补充说明
返回的$databases数组中,每个元素包含数据库的核心信息,常用字段包括:
name:数据库名称sizeOnDisk:数据库占用的磁盘空间(字节)empty:标记数据库是否为空(布尔值)
内容的提问来源于stack exchange,提问作者steveso
相关产品推荐
相关产品推荐

