(PECL mongo >=0.9.0)
MongoCollection::remove — レコードをコレクションから削除する
$criteria
= array()
[, array $options
= array()
]] )
criteria
削除したいレコードの条件。
options
削除時のオプションの配列。 現在利用可能なオプションは、以下のとおりです。
"w"
WriteConcerns を参照ください。MongoClient でのデフォルト値は 1 です。
"justOne"
TRUE
を指定すると、条件にマッチするレコードを 1 件だけ削除します。
FALSE
を指定したり省略したりした場合は、条件にマッチするすべてのレコードを削除します。
"fsync"
Boolean 型で、デフォルトは FALSE
です。
ジャーナリングが有効な場合、これは "j" とまったく同じ動きをします。
ジャーナリングが有効でない場合は、追加をディスク上のデータベースファイルに同期させるまで成功したと見なさないようになります。
TRUE
にすると確認つき書き込みが暗黙のうちに設定され、"w" の値を 0 にします。
注意: ジャーナリングが有効な場合は、"fsync" のかわりに "j" を使いましょう。 "fsync" と "j" を同時に指定すると、エラーになります。
"j"
デフォルトは FALSE
です。これを指定すると、追加をジャーナルに同期させるまで成功したと見なさないようになります。TRUE
にすると確認付き書き込みと見なされ、"w" の設定を 0 に上書きします。
注意: このオプションを使っているときにジャーナリングを無効にすると、MongoDB 2.6 以降ではエラーが発生して書き込みに失敗します。古いバージョンのサーバーでは、単純にオプションの師弟を無視します。
整数で、デフォルトは MongoCursor::$timeout です。確認付き書き込みを使っている場合、これはクライアントがデータベースからのレスポンスを待ち続ける時間 (ミリ秒) を表します。この時間内にデータベースからの反応がなければ、MongoCursorTimeoutException をスローします。
"socketTimeoutMS"
"w"
WriteConcerns を参照ください。MongoClient でのデフォルト値は 1 です。
"wTimeoutMS"
WriteConcern の確認をいつまで待つか。MongoClient のデフォルトは 10000 ミリ秒です。
以下のオプションは廃止予定です。使ってはいけません。
"safe"
非推奨。WriteConcern の w オプションを使いましょう。
"timeout"
整数で、デフォルトは MongoCursor::$timeout です。確認付き書き込みを使っている場合、これはクライアントがデータベースからのレスポンスを待ち続ける時間 (ミリ秒) を表します。この時間内にデータベースからの反応がなければ、MongoCursorTimeoutException をスローします。
非推奨です。かわりに "socketTimeoutMS" オプションを使いましょう。
"wtimeout"
WriteConcern の確認をいつまで待つか。 MongoClient のデフォルトは 10000 ミリ秒です。
非推奨です。かわりに "wTimeoutMS" オプションを使いましょう。
"w" が設定されていれば、削除の状態を表す配列を返します。
それ以外の場合は TRUE
を返します。
状態を表す配列のフィールドについては MongoCollection::insert() のドキュメントを参照ください。
"w" オプションが設定されていて書き込みが失敗した場合に MongoCursorException をスローします。
"w" オプションの値が 1 より大きく設定されていて、操作の完了までの時間が MongoCursor::$timeout ミリ秒をこえた場合に MongoCursorTimeoutException をスローします。サーバー上での操作は止めません。これはクライアント側でのタイムアウトです。MongoCollection::$wtimeout はミリ秒です。
バージョン | 説明 |
---|---|
1.5.0 |
"wTimeoutMS" オプションが追加されました。これは
"wtimeout" を置き換えるものです。
"wtimeout" を使うと
"socketTimeoutMS" オプションが追加されました。これは
"timeout" を置き換えるものです。
"timeout" を使うと
"safe" を使うと
|
1.3.4 | "wtimeout" オプションが追加されました。 |
1.3.0 |
"w" オプションが追加されました。
|
1.2.11 |
options が scalar のときに E_DEPRECATED を発行するようになりました。
|
1.2.0 | "timeout" オプションが追加されました。 |
1.0.11 | "safe" が設定されている場合は、"not master" エラーで接続を切断するようになりました。 |
1.0.9 |
"safe" オプションに整数値がわたせるようになりました (以前は boolean のみでした)。 "fsync" オプションが追加されました。 "safe" オプションを使っている場合の返り値の型が配列に変わりました。 配列にはエラー情報が含まれています。"safe" オプションを使わない場合は、今までどおり boolean のままです。 |
1.0.5 | 二番目のパラメータがオプションの配列に変わりました。1.0.5 より前のバージョンでは、二番目のパラメータは "safe" オプションを表す boolean 値でした。 |
例1 MongoCollection::remove() で justOne を使う例
<?php
$radioactive = $db->radioactive;
// プルトニウムがあとどれだけ残っているかを数えます
$remaining = $radioactive->count(array('type' => 94));
$halflife = $remaining/2;
// それを半減させます
while ($halflife > 0) {
$radioactive->remove(array('type' => 94), array("justOne" => true));
$halflife--;
}
?>