PHP Manual

MongoBinData クラス

(PECL mongo >= 0.8.1)

導入

データベースからのバイナリデータを保存したり取得したりする際に使用するオブジェクトです。

データベースに挿入できるひとつのオブジェクトの最大サイズは 4Mb です。 それよりも大きいデータ (動画や音楽、キッシンジャーの自伝など) の場合は MongoGridFS を使います。4Mb より小さなデータの場合は、 MongoBinData を使ってドキュメントに埋め込むほうが簡単でしょう。

たとえば画像をドキュメントに埋め込むには、このようにします。

<?php

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

$users->save($profile);

?>

このクラスには type フィールドがありますが、 現時点ではこのフィールドはドライバやデータベースに対して何の効果も及ぼしません。 5 種類の型が定義済み (以下のクラス定数を参照ください) です。 (BSON 仕様からはずれることを覚悟の上で) ユーザーが自分で定義することもできます。 デフォルトでは、PHP ドライバは常に type 2: バイト配列を使います。

クラス概要

MongoBinData {
/* 定数 */
const int FUNC = 1 ;
const int BYTE_ARRAY = 2 ;
const int UUID = 3 ;
const int MD5 = 5 ;
const int CUSTOM = 128 ;
/* フィールド */
public string $bin ;
public int $type = 2 ;
/* メソッド */
public __construct ( string $data [, int $type = 2 ] )
public string __toString ( void )
}

定義済み定数

バイナリデータ型

MongoBinData::FUNC
0x01
関数。
MongoBinData::BYTE_ARRAY
0x02
バイト配列。
MongoBinData::UUID
0x03
全体で一意な識別子。
MongoBinData::MD5
0x05
MD5。
MongoBinData::CUSTOM
0x80
ユーザー定義型。

目次


PHP Manual