(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 MongoCursor::awaitData ([ bool $wait = true ] )

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.



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

Значення, що повертаються

Returns this cursor.


Throws MongoCursorException if this cursor has started iterating.


Приклад #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.

= new MongoClient'mongodb://localhost:13000', array( 'replSet' => 'seta' ) );
$c $m->local->selectCollection'' );
$cursor $c->find( array( 'ns' => 'demo.article''op' => 'i' ) );
$cursor->tailabletrue );
$cursor->awaitDatatrue );

while (
true) {
    if (!
$cursor->hasNext()) {
// we've read all the results, exit
if ($cursor->dead()) {
    } else {
var_dump$cursor->getNext() );

Прогляньте Також

MongoDB core docs on » tailable cursors.

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top