Php/docs/class.mongobindata

提供:Dev Guides
< Php
移動先:案内検索

(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 {

/* 定数 */

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::UUID_RFC4122 が追加されました。


目次