(PECL mongo >=0.9.0)
はじめに
このクラスのインスタンスを使用してデータベースとのやりとりを行います。 データベースを取得するには、このようにします。
例1 データベースの選択
<?php$m = new MongoClient(); // 接続$db = $m->selectDB("example");?>
データベース名には、ASCII の範囲内でほとんどの文字を使うことができます。 しかし、" " や "." を使うことはできず、空文字列にすることもできません。 "system" という名前も予約済みで、使うことができません。 あまり一般的ではありませんが、 "null"、"[x,y]"、"3"、"\""、"/" などは正しい形式のデータベース名です。
コレクション名とは異なり、データベース名には "$" を含めてもかまいません。
クラス概要
MongoDB {
const
int
PROFILING_OFF
= 0
const
int
PROFILING_SLOW
= 1
const
int
PROFILING_ON
= 2
/* フィールド */
public
int
$w
= 1
public
int
$wtimeout
= 10000
/* メソッド */
public authenticate
( string $username
, string $password
) : array
public command
( array $command
[, array $options
= array()
[, string &$hash
]] ) : array
public __construct
( MongoClient $conn
, string $name
)
public createCollection
( string $name
[, array $options
] ) : MongoCollection
public createDBRef
( string $collection
, mixed $document_or_id
) : array
public drop ( ) : array
public dropCollection
( mixed $coll
) : array
public forceError ( ) : bool
public __get
( string $name
) : MongoCollection
public getCollectionInfo
([ array $options
= array()
] ) : array
public getCollectionNames
([ array $options
= array()
] ) : array
public getDBRef
( array $ref
) : array
public getGridFS
([ string $prefix
= "fs"
] ) : MongoGridFS
public getProfilingLevel ( ) : int
public getReadPreference ( ) : array
public getSlaveOkay ( ) : bool
public getWriteConcern ( ) : array
public lastError ( ) : array
public listCollections
([ array $options
= array()
] ) : array
public prevError ( ) : array
public repair
([ bool $preserve_cloned_files
= false
[, bool $backup_original_files
= false
]] ) : array
public resetError ( ) : array
public selectCollection
( string $name
) : MongoCollection
public setProfilingLevel
( int $level
) : int
public setReadPreference
( string $read_preference
[, array $tags
] ) : bool
public setSlaveOkay
([ bool $ok
= true
] ) : bool
public setWriteConcern
( mixed $w
[, int $wtimeout
] ) : bool
public __toString ( ) : string
}
定義済み定数
MongoDB ログレベル
MongoDB::PROFILING_OFF
- プロファイリングをオフにします。
MongoDB::PROFILING_SLOW
- 襲い接続 (>100 ms) に対するプロファイリングをオンにします。
MongoDB::PROFILING_ON
- すべての操作に対するプロファイリングをオンにします。
フィールド
w
1成功を返す前に変更をレプリケートするサーバーの数。このクラスの派生クラスである MongoCollection に継承されます。
w
の機能が使えるのは、バージョン 1.5.1 以降の MongoDB サーバーと バージョン 1.0.8 以降のドライバを使っている場合のみです。w
は、通知レベルを調整したい場合に使います (MongoCollection::insert() や MongoCollection::update()、 MongoCollection::remove()、 MongoCollection::save() そして MongoCollection::ensureIndex() はすべて、このオプションをサポートしています)。 デフォルト値 (1) の場合、安全な操作は、 データベースサーバーでの操作が一度成功すれば結果を返します。 セカンダリへのレプリケーションが完了する前にサーバーが落ちてしまうと、 その操作が永遠に失われてしまう可能性があります。そこでw
の値を 1 より大きく設定し、 少なくとも一台のセカンダリでの操作が完了してからでないと処理が成功したと見なさないようにするのです。たとえば
w
を 2 にすると、メインのサーバー以外に ひとつのセカンダリ上で操作が記録されない限り、ドライバは MongoCursorException をスローします。w
の数をプライマリと全セカンダリの総数に設定したくなるかもしれませんが、 もしそうすると、ひとつのセカンダリがダウンしただけで操作が失敗して例外が発生するようになります。 通常は、w=2
(プライマリ、そしてセカンダリ一台) としておくのがいちばん安全でしょう。wtimeout
10000MongoDB::$w
のレプリケーションが完了するまでに待つミリ秒数。 このクラスの派生クラスである MongoCollection に継承されます。w
の機能が使えるのは、バージョン 1.5.1 以降の MongoDB サーバーと バージョン 1.0.8 以降のドライバを使っている場合のみです。wtimeout
を設定しなければ、w
のサーバーへのレプリケーションが完了するまでずっと待ち続けます。 ドライバのデフォルトは 10 秒ですが、この値を変更して挙動を変えることができます。
目次
- MongoDB::authenticate — このデータベースにログインする
- MongoDB::command — データベースコマンドを実行する
- MongoDB::__construct — 新しいデータベースを作成する
- MongoDB::createCollection — コレクションを作成する
- MongoDB::createDBRef — データベース参照を作成する
- MongoDB::drop — このデータベースを削除する
- MongoDB::dropCollection — コレクションを削除する [非推奨]
- MongoDB::execute — JavaScript コードをデータベースサーバー上で実行する [非推奨]
- MongoDB::forceError — データベースのエラーを作成する
- MongoDB::__get — コレクションを取得する
- MongoDB::getCollectionInfo — Returns information about collections in this database
- MongoDB::getCollectionNames — このデータベースのすべてのコレクション名の配列を取得する
- MongoDB::getDBRef — データベース参照が指すドキュメントを取得する
- MongoDB::getGridFS — このデータベースに格納されているファイルを扱うためのツールキットを取得する
- MongoDB::getProfilingLevel — このデータベースのプロファイリングレベルを取得する
- MongoDB::getReadPreference — このデータベースの優先読み込みを取得する
- MongoDB::getSlaveOkay — このデータベースの slaveOkay 設定を取得する
- MongoDB::getWriteConcern — Get the write concern for this database
- MongoDB::lastError — 直近のデータベース操作でエラーが発生したかどうかを調べる
- MongoDB::listCollections — このデータベース内のすべてのコレクションの MongoCollection オブジェクトの配列を取得する
- MongoDB::prevError — データベース操作中の直近に発生したエラーを調べる
- MongoDB::repair — このデータベースを修復・圧縮する
- MongoDB::resetError — データベースで発生したすべてのエラーをクリアする
- MongoDB::selectCollection — コレクションを取得する
- MongoDB::setProfilingLevel — このデータベースのプロファイリングレベルを設定する
- MongoDB::setReadPreference — このデータベースの優先読み込みを設定する
- MongoDB::setSlaveOkay — Change slaveOkay setting for this database
- MongoDB::setWriteConcern — Set the write concern for this database
- MongoDB::__toString — このデータベースの名前
/* 定数 */