У меня есть следующий код:
<?php
require __DIR__ . '/vendor/autoload.php';
$client = new MongoDB\Client("mongodb://localhost:27017");
$collection = $client->bbcData->programmeData;
$result = $collection->find( [ '_id' => 'b007jwd9'] );
foreach ($result as $entry) {
echo $entry['_id'], ': ', $entry['complete_title'], "\n";
}
?>
JSON является следующим:
{"complete_title":{"name":"wimsey - murder must advertise","episode":"sudden decease of a man in dress clothes"},"media_type":"audio","_id":"b007jwd9","categories":{"category1":["drama", "crime"]}}
Я хочу напечатать имя complete_title, однако документы не показывают синтаксис для этого. В настоящее время я получаю сообщение о том, что complete_title является BSONDocument, поэтому его нельзя преобразовать в строку.
использование iterator_to_array
получить массив.
foreach ($result as $entry) {
$array = iterator_to_array($entry['complete_title']);
echo $entry['_id'], ': ', $array['name'], "\n";
}
Других решений пока нет …