MongoDB数据库对象的引用

时间:2016-02-17 22:18:10

标签: php mongodb

我想收集MongoDB实例看到的数据库的名称。我正在努力使用以下内容:

Thread Safety enabled in PHP7
PHP 7.0.2 (cli) (built: Jan  6 2016 13:00:05) ( ZTS )
MongoDB shell version: 3.2.1
MongoDB PHP Library 1.0

在下面的代码中,我可以看到数据库及其属性的列表,但是当foreach循环进行时,我无法收集数据库的名称。我尝试过各种变体:

$databaseInfo->name;
$databaseInfo->[‘name’];

我不知道如何指向我要收集的此数据库对象中的name字段。这是代码:

<body>
    <h1>Count and Name the databases!</h1>
    <?php
    // Bring in personal tools.
    include_once 'utilities/tools.php';

    // This path should point to Composer's autoloader
    require_once __DIR__ . "/vendor/autoload.php";

    // Find if we can connect to a Mongo instance
    $client = new MongoDB\Client;
    if ($client) {
        echo (breakLeft("Made a connection"));
    }

    echo (breakLeft('$client = '));
    var_dump($client);
    echo (rowDivider());
    // Find all the Databasses on this Mongo instance
    // Count databases
    $i = 0;
    /* listDatabases() returns an iterator/or cursor of MongoDB\Model\DatabaseInfo objects */
    foreach ($client->listDatabases() as $databaseInfo) {
        echo(breakLeft("database count = " . ($i + 1)));
        var_dump($databaseInfo);
        $i++;
    }
    echo (breakLeftRight("Total count of database = " . $i));
    ?>
</body>

这是对象的样子?

 database count = 1
    C:\NetBeansWorkPlace\mongoDB_overview\mongoGateway.php:39:
    object(MongoDB\Model\DatabaseInfo)[4]
    public 'name' => string 'databaseName' (length=12)
    public 'sizeOnDisk' => float 83886080
    public 'empty' => boolean false

    database count = 2
   C:\NetBeansWorkPlace\mongoDB_overview\mongoGateway.php:39:
   object(MongoDB\Model\DatabaseInfo)[7]
   public 'name' => string 'db' (length=2)
   public 'sizeOnDisk' => float 83886080
   public 'empty' => boolean false

谢谢!

0 个答案:

没有答案