(PECL mongo >=0.9.0)
MongoCollection::remove — レコードをコレクションから削除する
削除したいレコードの条件。
削除時のオプション。
"justOne"
条件にマッチするレコードを 1 件だけ削除します。
"safe"
boolean あるいは整数値で、デフォルトは FALSE です。FALSE の場合、データベースからの応答を待たずにプログラムを続行します。 TRUE の場合、プログラムはデータベースからの応答を待ち、 更新に失敗したときには MongoCursorException をスローします。
safe が整数値の場合は、 指定した数のマシンで更新が成功するまでは成功したと見なしません (処理がタイムアウトした場合は例外をスローします。wtimeout を参照ください)。 これは、コレクションに設定された w 変数をオーバーライドします。
"fsync"
boolean で、デフォルトは FALSE です。 更新操作がディスク上に同期されるまで成功とは見なさないようにさせます。 TRUE の場合は "安全な" 追加操作が前提となり、 safe の設定を FALSE にオーバーライドします。
"safe" が設定されているときは、削除の状況 ("ok") と削除されたアイテム数 ("n") そして発生したエラー ("err") を連想配列で返します。設定されていないときは、削除の送信に成功すれば TRUE、失敗すれば FALSE を返します。
"safe" オプションが設定されていて削除に失敗した場合に MongoCursorException をスローします。
"safe" オプションが 1 より大きい整数値に設定されているとき、 MongoCollection::$wtimeout ミリ秒以内に処理が終わらなかった場合に MongoCursorTimeoutException をスローします。
バージョン | 説明 |
---|---|
1.0.9 | "safe" オプションに整数値がわたせるようになり (以前は booleans のみでした)、さらに "fsync" オプションが追加されました。 |
1.0.5 | 二番目のパラメータがオプションの配列に変わりました。1.0.5 より前のバージョンでは、二番目のパラメータは "justOne" オプションを表す boolean 値で、safe オプションはありませんでした。 |
例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--;
}
?>
MongoDB コアドキュメントの » remove を参照ください。