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
{
/* 定数 */
/* フィールド */
public
string
$bin
;
public
int
$type
= 2
;
/* メソッド */
}定義済み定数
バイナリデータ型
-
MongoBinData::FUNC0x01 - 関数。
-
MongoBinData::BYTE_ARRAY0x02 - バイト配列。
-
MongoBinData::UUID0x03 - 全体で一意な識別子。
-
MongoBinData::MD50x05 - MD5。
-
MongoBinData::CUSTOM0x80 - ユーザー定義型。
目次
- MongoBinData::__construct — 新しいバイナリデータオブジェクトを作成する
- MongoBinData::__toString — このバイナリデータオブジェクトの文字列表現