Note MongoBinData::CUSTOM has value 0x80, not 0xf0
(PECL mongo >= 0.8.1)
このクラスを定義している拡張モジュールは非推奨です。 かわりに MongoDB 拡張モジュールを使うべきです。 このクラスの代替として、以下が使えます。
データベースからのバイナリデータを保存したり取得したりする際に使用するオブジェクトです。
データベースに挿入できるひとつのオブジェクトの最大サイズは 16MB です。 それよりも大きいデータ (動画や音楽、キッシンジャーの自伝など) の場合は MongoGridFS を使います。16MB より小さなデータの場合は、 MongoBinData を使ってドキュメントに埋め込むほうが簡単でしょう。
たとえば画像をドキュメントに埋め込むには、このようにします。
<?php
$profile = array(
"username" => "foobity",
"pic" => new MongoBinData(file_get_contents("gravatar.jpg"), MongoBinData::GENERIC),
);
$users->save($profile);
?>
このクラスには type フィールドがありますが、
現時点ではこのフィールドはドライバやデータベースに対して何の効果も及ぼしません。
7 種類の型が定義済み (以下のクラス定数を参照ください) です。
過去のバージョンとの互換性のため、デフォルトは
MongoBinData::BYTE_ARRAY
となっていますが、将来のバージョンでは
MongoBinData::GENERIC
に変わるかもしれません。
MongoBinData::__construct() できちんと型を定義するようにしましょう。
MongoBinData::GENERIC
MongoBinData::FUNC
MongoBinData::BYTE_ARRAY
MongoBinData::GENERIC
を使いましょう)。
MongoBinData::UUID
MongoBinData::UUID_RFC4122
を使いましょう)。
MongoBinData::UUID_RFC4122
MongoBinData::MD5
MongoBinData::CUSTOM
バージョン | 説明 |
---|---|
1.5.0 |
定数 MongoBinData::GENERIC および
MongoBinData::UUID_RFC4122 が追加されました。
|