Laracon EU Online 2021

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

Descrição

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.

Parâmetros

wait

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

Valor Retornado

Returns this cursor.

Erros

Throws MongoCursorException if this cursor has started iterating.

Exemplos

Exemplo #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->tailabletrue );
$cursor->awaitDatatrue );

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

Veja Também

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