Php/docs/mongoclient.killcursor

提供:Dev Guides
< Php
移動先:案内検索

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'] );?>