iterator_to_array не работает для вложения более двух уровней,
Используя typeMap вы можете конвертировать корень и его документ в массив, он будет работать для любого уровня вложенности
findOne ($ фильтр, $ вариантов)
$options = ["typeMap" => ['root' => 'array', 'document' => 'array']];
$collection->findOne(['myId' => $id ], $options); // returns array
найти ($ фильтр, $ опции)
$options = ["typeMap" => ['root' => 'array', 'document' => 'array']];
$collection->find(['myId' => $id ], $options)->toArray();