0

我有这个代码:

require_once __DIR__ . "/vendor/autoload.php";

$collection = (new MongoDB\Client)->google_api->threadContents;

$document = $collection->find(["messages.payload.headers.value"=>"kruno@ulix.com"]);
echo "<pre>";
var_dump($document["id"]);

我正在尝试搜索符合特定条件的所有对象。当我使用方法时,这完全符合我的要求findOne,但是当我使用 find 方法来查找所有对象而不是一个对象时,我得到下一个错误:

致命错误:未捕获的错误:无法使用 MongoDB\Driver\Cursor 类型的对象作为数组...

4

1 回答 1

1

PHP 的 MongoDB\Driver\Cursor 实现了 Traversable 类,因此您可以使用 foreach 循环遍历结果,但不能像使用 [] 语句的数组那样直接访问它。做这个,

foreach($document as $fields){
  print_r($fields);
}
于 2016-09-02T15:12:54.550 回答