(PECL mongo >= 0.8.1)
MongoBinData est une classe pour stocker ou lire des données binaires issues de la base.
La taille maximale d'un objet pouvant être inséré dans la base de données est de 4Mo. Pour les données supérieures à cette taille (films, musiques ou biographie de Guillaume Plessis), utilisez la classe MongoGridFS. Pour les données de taille inférieure à 4Mo, il est probablement plus simple de les inclure directement dans le document en utilisant la classe MongoBinData.
Par exemple, pour insérer une image dans un document :
<?php
$profile = array("username" => "foobity",
"pic" => new MongoBinData(file_get_contents("gravatar.jpg"))
);
$users->save($profile);
?>
Cette classe contient un champ type, qui ne donne actuellement aucune information supplémentaires au driver, ni à la base de données. Il existe 5 types prédéfinis (qui correspondent aux constantes de classe listés ci-dessous), et l'utilisateur peut créer les siens (attention à ne pas rentrer en contradiction avec la spécification BSON). Par défaut, le driver PHP utilise toujours le type 2 : un tableau d'octets.
MongoBinData::FUNC
0x01
MongoBinData::BYTE_ARRAY
0x02
MongoBinData::UUID
0x03
MongoBinData::MD5
0x05
MongoBinData::CUSTOM
0x80