Hvad er forskellen, uanset om du gemmer et tomt objekt eller et array? I BSON gemmes arrays og objekter på samme måde som et diktat . Anyways, til dit spørgsmål.
For PHP MongoDB-driveren er et tomt array netop det, et tomt array, så det gemmer det som et array. Når du tilføjer et nøgle/værdi-par til arrayet, er det sådan, driveren forstår, at det skal gemme et objekt.
Hvis du virkelig vil gemme et tomt objekt, prøv :
$d = new \stdClass();
$collection->insert(array('z' => $d));