La classe MongoBinData

(PECL mongo >= 0.8.1)

Introduction

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 16MB. 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 à 16MB, 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.

Synopsis de la classe

MongoBinData {
/* Constantes */
const int FUNC = 1 ;
const int BYTE_ARRAY = 2 ;
const int UUID = 3 ;
const int MD5 = 5 ;
const int CUSTOM = 128 ;
/* Champs */
public string $bin ;
public int $type = 2 ;
/* Méthodes */
public __construct ( string $data [, int $type = 2 ] )
public string __toString ( void )
}

Constantes pré-définies

Types de données binaires

MongoBinData::FUNC
0x01
Fonction.
MongoBinData::BYTE_ARRAY
0x02
Tableau d'octets.
MongoBinData::UUID
0x03
Identifiant unique universel.
MongoBinData::MD5
0x05
MD5.
MongoBinData::CUSTOM
0x80
Type défini par l'utilisateur.

Sommaire

LoadingChargement en cours