ConFoo: Call for paper is now Open

La clase MongoBinData

(PECL mongo >= 0.8.1)

Introducción

Un objeto que se puede usar para almacenar y obtener datos binarios de la base de datos.

El tamaño máximo de un objeto que puede insertarse en la base de datos es de 16 MB. Para datos mayores (películas, música, la autobiografía de Henry Kissinger), utilice MongoGridFS. Para datos menores a 16 MB, sería más sencillo embeberlos en el documento utilizando MongoBinData.

Por ejemplo, para embeber una imagen en un documento, se podría escribir:

<?php

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

$users->save($profile);

?>

Esta clase contiene un campo type, que actualmente no proporciona ninguna funcionalidad al controlador de PHP o a la base de datos. Hay 7 tipos predefinidos, los cuales están definidos más abajo como constantes de clase. Para respetar la retrocompatibilidad, el controlador de PHP utiliza MongoBinData::BYTE_ARRAY como el predeterminado; sin embargo, podría cambiar a MongoBinData::GENERIC en el futuro. Se anima a los usuarios a especificar un tipo en MongoBinData::__construct().

Sinopsis de la Clase

MongoBinData {
/* Constantes */
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 ;
/* Métodos */
public __construct ( string $data [, int $type = 0 ] )
public string __toString ( void )
}

Constantes predefinidas

Tipos de datos binarios

MongoBinData::GENERIC
0x00
Datos binarios genéricos.
MongoBinData::FUNC
0x01
Función.
MongoBinData::BYTE_ARRAY
0x02
Datos binarios genéricos (obsoleta a favor de MongoBinData::GENERIC).
MongoBinData::UUID
0x03
Identificador único universal (obsoleta en favor de MongoBinData::UUID_RFC4122).
MongoBinData::UUID_RFC4122
0x04
Identificador único universal (de acuerdo a la » RFC 4122).
MongoBinData::MD5
0x05
MD5.
MongoBinData::CUSTOM
0x80
Tipo definido por el usuario.

Historial de cambios

Versión Descripción
1.5.0 Se añadieron las constantes MongoBinData::GENERIC y MongoBinData::UUID_RFC4122.

Tabla de contenidos

add a note add a note

User Contributed Notes 1 note

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