PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

MongoCursor::tailable - このカーソルが、最後の結果を取得した後もオープンしたままにしておくかどうかを設定する | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

MongoCursor::tailable

(PECL mongo >=0.9.4)

MongoCursor::tailableこのカーソルが、最後の結果を取得した後もオープンしたままにしておくかどうかを設定する

説明

public MongoCursor MongoCursor::tailable ([ bool $tail = true ] )

Mongo には、追尾可能 (tailable) カーソルという機能があります。これは、Unix の "tail -f" コマンドと似ています。

追尾可能とは、最後のデータを取得した後もカーソルを閉じないということです。 カーソルは、最後のオブジェクトの位置を指したままとなります。 あとでそのカーソルを使い続けることもできます。もしその後さらにデータを取得したのなら、 カーソルが指す位置から処理を再開できます。

他の "潜在カーソル (latent cursor)" 同様、カーソルはどこかで無効な状態になります。 参照しているオブジェクトがすべて削除された場合などです。 したがって、カーソルが MongoCursor::dead() になったら再びクエリを実行できるようにしておかなければなりません。

パラメータ

tail

カーソルが追尾可能かどうか。

返り値

このカーソルを返します。

エラー / 例外

このカーソルが反復処理を始めている場合に MongoCursorException をスローします。

例1 MongoCursor::tailable() の例

<?php

$cursor 
$collection->find()->tailable();

$results = array();

while (
1) {
    if (!
$cursor->hasNext()) {
        
// すべての結果を読み終えたら終了します
        
if ($cursor->dead()) {
            break;
        }
        
// これまでのすべての結果を読み、さらに待ちます
        
sleep(10);
    }
    else {
        
$results[] = $cursor->getNext();
    }
}

?>

参考

MongoDB コアドキュメントの » tailable cursors

  • MongoCursor::awaitData() - 追尾可能なカーソルで、データがないときにしばらく待つかどうかを設定する


忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「MongoCursor::tailable - このカーソルが、最後の結果を取得した後もオープンしたままにしておくかどうかを設定する」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | MongoCursor::tailable - このカーソルが、最後の結果を取得した後もオープンしたままにしておくかどうかを設定する」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: