如何从 mongodb 中的 listDatabases 获取数据库名称?
How to get databases names from listDatabases in mongodb?
我正在从变量
中的 mongodb 中的查询中获取对象
$dbases = $this->connection->listDatabases();
var_dump($dbases);
喜欢
object(MongoDB\Model\DatabaseInfoLegacyIterator)#10 (1) { ["databases":"MongoDB\Model\DatabaseInfoLegacyIterator":private]=> array(5) { [0]=> array(3) { ["name"]=> string(3) "MGL" ["sizeOnDisk"]=> float(3596288) ["empty"]=> bool(false) } [1]=> array(3) { ["name"]=> string(10) "SiteStatus" ["sizeOnDisk"]=> float(32768) ["empty"]=> bool(false) } [2]=> array(3) { ["name"]=> string(5) "admin" ["sizeOnDisk"]=> float(32768) ["empty"]=> bool(false) } [3]=> array(3) { ["name"]=> string(6) "config" ["sizeOnDisk"]=> float(12288) ["empty"]=> bool(false) } [4]=> array(3) { ["name"]=> string(5) "local" ["sizeOnDisk"]=> float(73728) ["empty"]=> bool(false) } } }
我只想从此对象中提取数据库名称,例如 MGL、SiteStatus。
请帮助我通过 php 代码提取它们。我试过
foreach ($dbases['databases'] as $dbs)
{
$dbname = $dbs['name'];
}
它不起作用。请帮忙!!!
您可以尝试迭代迭代器,如下所示:
foreach($this->connection->listDatabases() as $database)
{
echo $database->getName();
}
每个 $database
都是 class MongoDB\Model\DatabaseInfo which has a method getName() 的对象。
我正在从变量
中的 mongodb 中的查询中获取对象 $dbases = $this->connection->listDatabases();
var_dump($dbases);
喜欢
object(MongoDB\Model\DatabaseInfoLegacyIterator)#10 (1) { ["databases":"MongoDB\Model\DatabaseInfoLegacyIterator":private]=> array(5) { [0]=> array(3) { ["name"]=> string(3) "MGL" ["sizeOnDisk"]=> float(3596288) ["empty"]=> bool(false) } [1]=> array(3) { ["name"]=> string(10) "SiteStatus" ["sizeOnDisk"]=> float(32768) ["empty"]=> bool(false) } [2]=> array(3) { ["name"]=> string(5) "admin" ["sizeOnDisk"]=> float(32768) ["empty"]=> bool(false) } [3]=> array(3) { ["name"]=> string(6) "config" ["sizeOnDisk"]=> float(12288) ["empty"]=> bool(false) } [4]=> array(3) { ["name"]=> string(5) "local" ["sizeOnDisk"]=> float(73728) ["empty"]=> bool(false) } } }
我只想从此对象中提取数据库名称,例如 MGL、SiteStatus。 请帮助我通过 php 代码提取它们。我试过
foreach ($dbases['databases'] as $dbs)
{
$dbname = $dbs['name'];
}
它不起作用。请帮忙!!!
您可以尝试迭代迭代器,如下所示:
foreach($this->connection->listDatabases() as $database)
{
echo $database->getName();
}
每个 $database
都是 class MongoDB\Model\DatabaseInfo which has a method getName() 的对象。