您好我正在尝试使用以下代码
连接到使用Php7的mongoDB$connection = new MongoDB\Driver\Manager("mongodb://localhost:27017");
但是收到以下错误:
[:error] [pid 6069] [client 127.0.0.1:35118] PHP注意:未定义的属性:MongoDB \ Driver \ Manager :: $ clients
$clients
是我正在尝试连接的mongodb数据库。 MongoDB扩展安装并包含在Php.ini中,如下所示:
extension=mongodb.so
连接到客户端数据库时,如下所示
$db = $connection->clients;
我收到此错误:
"试图获得非对象的属性"
phpinfo()也显示已安装的驱动程序,如以下屏幕截图
所示我在localhost上运行apache2服务器。知道可能是什么问题??
编辑:如果我var_dump($connection)
,我会得到以下信息:
对象(MongoDB \ Driver \ Manager)#1(2){[" uri"] => string(25)" mongodb:// localhost:27017" ["簇"] => array(0){}}
答案 0 :(得分:1)
使用Manager api查询的正确方法如下。它无权访问db对象。
http://php.net/manual/en/class.mongodb-driver-manager.php
这是一个例子
$connection = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$id = new \MongoDB\BSON\ObjectId(SomeId);
$filter = ['_id' => $id];
$query = new MongoDB\Driver\Query($filter);
$cursor = $connection->executeQuery('DatabaseNameHere.CollectionNameHere', $query);
查询的替代方法是通过composer loader使用Client api。
安装:
https://docs.mongodb.com/php-library/master/tutorial/install-php-library/
教程