空のオブジェクトを格納するか配列を格納するかにかかわらず、違いは何ですか? BSONでは、配列とオブジェクトは、dictと同じ方法で保存されます 。とにかく、あなたの質問に。
PHP MongoDBドライバーの場合、空の配列は空の配列であるため、配列として格納されます。キーと値のペアを配列に追加すると、ドライバーはオブジェクトを格納する必要があることを理解します。
本当に空のオブジェクトを保存したい場合は、:
を試してください。$d = new \stdClass();
$collection->insert(array('z' => $d));