Php/docs/mongocursor.awaitdata

来自菜鸟教程
跳转至:导航、​搜索

MongoCursor::awaitData

(PECL mongo >=1.2.11)

MongoCursor::awaitDataSets whether this cursor will wait for a while for a tailable cursor to return more data


说明

public MongoCursor::awaitData ([ bool $wait = true ] ) : MongoCursor

This method is to be used with tailable cursors. If we are at the end of the data, block for a while rather than returning no data. After a timeout period, we do return as normal.


参数

wait
If the cursor should wait for more data to become available.


返回值

Returns this cursor.


错误/异常

Throws MongoCursorException if this cursor has started iterating.


范例

Example #1 MongoCursor::awaitData() example

In this example we tail the "oplog" and instead of sleeping during every iteration, we set the MongoCursor::awaitData() option. MongoCursor::hasNext() will now block until there is more data available.


<?php$m = new MongoClient( 'mongodb://localhost:13000', array( 'replSet' => 'seta' ) );$c = $m->local->selectCollection( 'oplog.rs' );$cursor = $c->find( array( 'ns' => 'demo.article', 'op' => 'i' ) );$cursor->tailable( true );$cursor->awaitData( true );while (true) {    if (!$cursor->hasNext()) {        // we've read all the results, exit        if ($cursor->dead()) {            break;        }    } else {        var_dump( $cursor->getNext() );    }}?>

参见

MongoDB core docs on » tailable cursors.