(PECL mongo >= 0.8.1)
はじめに
データベースからのバイナリデータを保存したり取得したりする際に使用するオブジェクトです。
データベースに挿入できるひとつのオブジェクトの最大サイズは 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 {
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
/* フィールド */
public
string
$bin
public
int
$type
= 2
/* メソッド */
public __construct
( string $data
[, int $type
= 0
] )
public __toString ( ) : string
}
定義済み定数
バイナリデータ型
MongoBinData::GENERIC
- 汎用的なバイナリデータ。
MongoBinData::FUNC
- 関数。
MongoBinData::BYTE_ARRAY
- 汎用的なバイナリデータ (非推奨。かわりに
MongoBinData::GENERIC
を使いましょう)。 MongoBinData::UUID
- 全体で一意な識別子 (非推奨。かわりに
MongoBinData::UUID_RFC4122
を使いましょう)。 MongoBinData::UUID_RFC4122
- 全体で一意な識別子 (» RFC 4122 準拠)。
MongoBinData::MD5
- MD5。
MongoBinData::CUSTOM
- ユーザー定義型。
変更履歴
バージョン | 説明 |
---|---|
1.5.0 | 定数 MongoBinData::GENERIC および
|
目次
- MongoBinData::__construct — Creates a new binary data object
- MongoBinData::__toString — The string representation of this binary data object
/* 定数 */