如何使用mongodb扩展

时间:2017-04-09 14:34:20

标签: php mongodb

您好我正在尝试使用以下代码

连接到使用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()也显示已安装的驱动程序,如以下屏幕截图phpinfo

所示

我在localhost上运行apache2服务器。知道可能是什么问题??

编辑:如果我var_dump($connection),我会得到以下信息:

  

对象(MongoDB \ Driver \ Manager)#1(2){[" uri"] => string(25)" mongodb:// localhost:27017" ["簇"] => array(0){}}

1 个答案:

答案 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/

教程

https://docs.mongodb.com/php-library/master/tutorial/