PHP 8.0.3 Released!

The MongoBinData class

(PECL mongo >= 0.8.1)


This extension that defines this class is deprecated. Instead, the MongoDB extension should be used. Alternatives to this class include:


An object that can be used to store or retrieve binary data from the database.

The maximum size of a single object that can be inserted into the database is 16MB. For data that is larger than this (movies, music, Henry Kissinger's autobiography), use MongoGridFS. For data that is smaller than 16MB, you may find it easier to embed it within the document using MongoBinData.

For example, to embed an image in a document, one could write:


= array(
"username" => "foobity",
"pic" => new MongoBinData(file_get_contents("gravatar.jpg"), MongoBinData::GENERIC),



This class contains a type field, which currently gives no additional functionality in the PHP driver or the database. There are seven predefined types, which are defined as class constants below. For backwards compatibility, the PHP driver uses MongoBinData::BYTE_ARRAY as the default; however, this may change to MongoBinData::GENERIC in the future. Users are encouraged to specify a type in MongoBinData::__construct().

Class synopsis

MongoBinData {
/* Constants */
const int GENERIC = 0 ;
const int FUNC = 1 ;
const int BYTE_ARRAY = 2 ;
const int UUID = 3 ;
const int UUID_RFC4122 = 4 ;
const int MD5 = 5 ;
const int CUSTOM = 128 ;
/* Fields */
public string $bin ;
public int $type = 2 ;
/* Methods */
public __construct ( string $data , int $type = 0 )
public __toString ( ) : string

Predefined Constants

Binary Data Types

Generic binary data.
Generic binary data (deprecated in favor of MongoBinData::GENERIC).
Universally unique identifier (deprecated in favor of MongoBinData::UUID_RFC4122).
Universally unique identifier (according to » RFC 4122).
User-defined type.


Version Description
1.5.0 Added MongoBinData::GENERIC and MongoBinData::UUID_RFC4122 constants.

Table of Contents

add a note add a note

User Contributed Notes 1 note

sander at steffann dot nl
10 years ago
Note MongoBinData::CUSTOM has value 0x80, not 0xf0
To Top