Overview
MongoDB はBSONドキュメントとしてデータ レコードを保存します。 BSONはJSONドキュメントのバイナリ表現ですが、 JSONよりも多くのデータ型を含みます。 BSON仕様については、 bsonspec.org を参照してください。
デフォルトでは 、 MongoDB PHPライブラリは、それぞれBSONドキュメントをMongoDB\Model\BSONDocument オブジェクトとして、 BSON配列をMongoDB\Model\BSONArray オブジェクトとして返します。
クラス
MongoDB\Model\BSONArrayこのクラスは、 PHP の ArrayObject クラスを拡張したものです。また、PHP の JsonSerializable インターフェースと、拡張機能の MongoDB\BSON\Serializable および MongoDB\BSON\Unserializable インターフェースも実装されます。
デフォルトでは 、ライブラリはBSON配列をこのクラスのインスタンスとして逆直列化します。BSONおよびJSON の直列化中に、このクラスのインスタンスは配列タイプとして直列化されます( array_values() は、配列を数値的に再インデックス化するために内部的に使用されます)。
MongoDB\Model\BSONDocumentこのクラスは、 PHP の ArrayObject クラスを拡張したものです。また、PHP の JsonSerializable インターフェースと、拡張機能の MongoDB\BSON\Serializable および MongoDB\BSON\Unserializable インターフェースも実装されます。
デフォルトでは、ライブラリは BSON ドキュメントをこのクラスのインスタンスとして非直列化します。BSON および JSON の直列化中、このクラスのインスタンスはドキュメント タイプとして直列化されます(オブジェクト キャスト が内部的に使用されます)。