MongoClient::killCursor

(PECL mongo >=1.5.0)

MongoClient::killCursorサーバー上の指定したカーソルを削除する

このメソッドを定義している拡張モジュールは非推奨です。 かわりに MongoDB 拡張モジュールを使うべきです。 このメソッドの代替は、新しい拡張モジュールには存在しません。

説明

public MongoClient::killCursor ( string $server_hash , int|MongoInt64 $id ) : bool

サーバー上の、特定のカーソルを削除したくなることがあります。 通常は、未使用のまま 10 分が経過するとカーソルはタイムアウトします。 しかし、MongoCursor::immortal() を使って不死身のカーソルも作ることができ、 このカーソルは決してタイムアウトしません。 不死身のカーソルを削除できるようにするには、 MongoCursor::info() で得た情報を使ってこのメソッドを呼びます。

パラメータ

server_hash

カーソルの情報を持つ、サーバーのハッシュ。これは MongoCursor::info() で取得できます。

id

削除したいカーソルの ID。64 ビットの整数か、あるいは MongoInt64 クラスのオブジェクトを指定します。 32 ビットプラットフォーム (および Windows) では、 MongoInt64 クラスのオブジェクトでしか指定できません。

返り値

カーソルの削除処理を実行した場合に TRUE、 引数に何か問題があった場合 (server_hash が間違っている場合など) に FALSE を返します。 この返り値は、実際にカーソルが削除されたかどうかを表すものではありません。 サーバーからは、カーソルの削除に成功したかどうかの情報を得られないからです。

エラー / 例外

指定した server_hash が既存の接続にマッチしない場合に警告が発生します。 その場合、カーソルの削除は試みません。

例1 MongoClient::killCursor() の例

この例では、接続してクエリを発行し、カーソルの情報を取得してからカーソルを削除します。

<?php
$m 
= new MongoClient();
$c $m->testdb->collection;
$cursor $c->find();
$result $cursor->next();

// 有効なカーソルが得られたので、そのハッシュと ID を取得します
$info $cursor->info();

// カーソルを削除します
MongoClient::killCursor$info['server'], $info['id'] );
?>