Apakah Anda menyimpan objek atau array kosong, apa bedanya? Di BSON, array dan objek disimpan dengan cara yang sama, sebagai dict . Bagaimanapun, untuk pertanyaan Anda.
Untuk driver PHP MongoDB array kosong hanya itu, array kosong, sehingga menyimpannya sebagai array. Saat Anda menambahkan pasangan kunci/nilai ke larik, begitulah cara driver memahami bahwa ia harus menyimpan objek.
Jika Anda benar-benar ingin menyimpan objek kosong, coba :
$d = new \stdClass();
$collection->insert(array('z' => $d));