MongoCollection
PHP Manual

MongoCollection::remove

(PECL mongo >=0.9.0)

MongoCollection::removeレコードをコレクションから削除する

説明

public bool|array MongoCollection::remove ([ array $criteria = array() [, array $options = array() ]] )

パラメータ

criteria

削除したいレコードの条件。

options

削除時のオプション。

  • "w"

    WriteConcerns を参照ください。MongoClient でのデフォルト値は 1 です。

  • "justOne"

    条件にマッチするレコードを 1 件だけ削除します。

  • "fsync"

    デフォルトは FALSE です。 これを指定すると、追加をディスクに同期させるまで成功したと見なさないようになります。 TRUE にすると、w の設定を 0 に上書きします。

  • "timeout"

    整数で、デフォルトは MongoCursor::$timeout です。 "safe" が設定されている場合、これはクライアントがデータベースからのレスポンスを待ち続ける時間 (ミリ秒) を表します。 この時間内にデータベースからの反応がなければ、MongoCursorTimeoutException をスローします。

  • "safe"

    非推奨WriteConcernw オプションを使いましょう。

返り値

"w" が設定されていれば、削除の状態を表す配列を返します。 それ以外の場合は TRUE を返します。

状態を表す配列のフィールドについては MongoCollection::insert() のドキュメントを参照ください。

エラー / 例外

"w" オプションが設定されていて書き込みが失敗した場合に MongoCursorException をスローします。

"w" オプションの値が 1 より大きく設定されていて、操作の完了までの時間が MongoCursor::$timeout ミリ秒をこえた場合に MongoCursorTimeoutException をスローします。サーバー上での操作は止めません。これはクライアント側でのタイムアウトです。MongoCollection::$wtimeout はミリ秒です。

変更履歴

バージョン 説明
1.3.0 options パラメータで、boolean だけを渡して "justOne" を指定することができなくなりました。 同じことをするには array('justOne' => true) としなければなりません。
1.2.11 optionsscalar のときに 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--;
}

?>

参考


MongoCollection
PHP Manual