MongoRegex::__toString
MongoBinData::__construct
Types
PHP Manual

# The MongoBinData class

(PECL mongo >= 0.8.1)

## Introduction

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:

`<?php
$profile = array(
"username" => "foobity",
"pic" => new MongoBinData(file_get_contents("gravatar.jpg"), MongoBinData::GENERIC),
);
$users->save($profile);
?>`

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 string __toString ( void )
}

## Predefined Constants

## Binary Data Types

`MongoBinData::GENERIC`
`0x00`
  Generic binary data.
`MongoBinData::FUNC`
`0x01`
  Function.
`MongoBinData::BYTE_ARRAY`
`0x02`
  Generic binary data (deprecated in favor of `MongoBinData::GENERIC`).
`MongoBinData::UUID`
`0x03`
  Universally unique identifier (deprecated in favor of `MongoBinData::UUID_RFC4122`).
`MongoBinData::UUID_RFC4122`
`0x04`
  Universally unique identifier (according to » RFC 4122).
`MongoBinData::MD5`
`0x05`
  MD5.
`MongoBinData::CUSTOM`
`0x80`
  User-defined type.

### Changelog

Version | Description
--- | ---
1.5.0 | Added `MongoBinData::GENERIC` and `MongoBinData::UUID_RFC4122` constants.

## Table of Contents

- MongoBinData::__construct — Creates a new binary data object.
- MongoBinData::__toString — The string representation of this binary data object.

MongoRegex::__toString
MongoBinData::__construct
Types
PHP Manual