Jaký je rozdíl, ať už ukládáte prázdný objekt nebo pole? V BSON jsou pole a objekty uloženy stejným způsobem, jako diktát . Každopádně k vaší otázce.
Pro ovladač PHP MongoDB je prázdné pole právě to, prázdné pole, takže jej uloží jako pole. Když do pole přidáte pár klíč/hodnota, ovladač to pochopí, že by měl ukládat objekt.
Pokud opravdu chcete uložit prázdný objekt, zkuste :
$d = new \stdClass();
$collection->insert(array('z' => $d));