(PECL mongo >=1.5.0)
MongoClient::killCursor — サーバー上の指定したカーソルを削除する
このメソッドを定義している拡張モジュールは非推奨です。 かわりに MongoDB 拡張モジュールを使うべきです。 このメソッドの代替は、新しい拡張モジュールには存在しません。
$server_hash
, int|MongoInt64 $id
)サーバー上の、特定のカーソルを削除したくなることがあります。 通常は、未使用のまま 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'] );
?>