MongoCommandCursor::rewind

(PECL mongo >=1.5.0)

MongoCommandCursor::rewindExecutes the command and resets the cursor to the start of the result set

说锟斤拷

public MongoCommandCursor::rewind ( void ) : array

If the cursor has already started iteration, the command will be re-executed.

锟斤拷锟斤拷

锟剿猴拷锟斤拷没锟叫诧拷锟斤拷锟斤拷

锟斤拷锟斤拷值

The raw server result document.

锟斤拷锟斤拷锟届常

Throws MongoConnectionException if it cannot reach the database and MongoCursorTimeoutException if the timeout is exceeded.

Throws MongoCursorException if the cursor was created with MongoCommandCursor::createFromDocument() and has already started iteration. Such cursors cannot be iterated multiple times, as they lack the original command necessary for re-execution.

锟斤拷锟斤拷

Example #1 MongoCommandCursor::rewind()

<?php
$rawResult 
$commandCursor->rewind();

// Command cursor is now reset to the start of the result set

var_dump($rawResult);
?>

锟斤拷锟斤拷锟斤拷锟教碉拷锟斤拷锟斤拷锟斤拷锟斤拷冢锟�

array(2) {
  ["cursor"]=>
  array(3) {
    ["id"]=>
    object(MongoInt64)#5 (1) {
      ["value"]=>
      string(12) "310050110216"
    }
    ["ns"]=>
    string(9) "demo.test"
    ["firstBatch"]=>
    array(1) {
      [0]=>
      array(2) {
        ["_id"]=>
        object(MongoId)#6 (1) {
          ["$id"]=>
          string(24) "52f5691544670a8077b0dc51"
        }
        ["value"]=>
        string(2) "42"
      }
    }
  }
  ["ok"]=>
  float(1)
}

锟轿硷拷

  • Iterator::rewind() - 锟斤拷锟截碉拷锟斤拷锟斤拷锟斤拷锟侥碉拷一锟斤拷元锟斤拷