Niezależnie od tego, czy przechowujesz pusty obiekt, czy tablicę, jaka jest różnica? W BSON tablice i obiekty są przechowywane w taki sam sposób, jak dykt . W każdym razie na twoje pytanie.
Dla sterownika PHP MongoDB pusta tablica jest po prostu pustą tablicą, więc przechowuje ją jako tablicę. Kiedy dodajesz parę klucz/wartość do tablicy, w ten sposób kierowca rozumie, że powinien przechowywać obiekt.
Jeśli naprawdę chcesz przechowywać pusty obiekt, spróbuj :
$d = new \stdClass();
$collection->insert(array('z' => $d));