找不到"MongoDB\Client"类,安装了mongodb扩展

Lê *_* Lễ 10 php database-connection mongodb

我试图创建新的mongo连接执行以下代码

$m = new MongoDB\Client();

我收到了这个错误:

致命错误:找不到类'MongoDB\Client'

我想我已经正确安装了MongoDB扩展(将php_mongodb.dll复制到ext文件夹并使用extension = php_mongodb.dll更新了php.ini ).

以下代码确认已加载:

echo extension_loaded("mongodb") ? "loaded\n" : "not loaded\n";
Run Code Online (Sandbox Code Playgroud)

我仍然收到同样的错误.

这是 phpinfo()

我感谢你的帮助.谢谢!

dik*_*esh 22

如果您使用的是PHP的最新MongoDB扩展,MongoDB\Driver\Manager则是扩展的主要入口点.

以下是使用最新扩展名检索数据的示例代码.

假设你testColl收藏了testDb.您可以使用MongoDB\Driver\Query扩展的类检索数据.

// Manager Class
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

// Query Class
$query = new MongoDB\Driver\Query(array('age' => 30));

// Output of the executeQuery will be object of MongoDB\Driver\Cursor class
$cursor = $manager->executeQuery('testDb.testColl', $query);

// Convert cursor to Array and print result
print_r($cursor->toArray());
Run Code Online (Sandbox Code Playgroud)

输出:

Array
(
    [0] => stdClass Object
        (
            [_id] => MongoDB\BSON\ObjectID Object
                (
                    [oid] => 5848f1394cea9483b430d5d2
                )

            [name] => XXXX
            [age] => 30
        )

)
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!这个新的MongoDB ext让我很困惑,所以我切换回旧的mongo.:d (2认同)
  • 这很糟糕,官方文档中没有记录.使用作曲家(如记录)是一种方式,而不是唯一的方式:) (2认同)