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 メソッドを使用して 1 つだけでなくすべてのオブジェクトを検索すると、次のエラーが発生します。

致命的なエラー: キャッチされていないエラー: 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 に答える