In other words, is there a way to rewind it to the beginning?
EDIT
I am using mongo shell and pymongo.
You can use cursor.reset();
For PHP : $cursor->reset();
then run your foreach($cursorData as $data)
any time after resetting.
Cursor in pymongo has .rewind()
method, you can refer to sample code from previous question with answer that apply.
Native mongo shell api, however, doesn't provide such method, see method help() on DBQuery object prototype.:
> db.collection.find().help()
find() modifiers
.sort( {...} )
.limit( n )
.skip( n )
.count() - total # of objects matching query, ignores skip,limit
.size() - total # of objects cursor would return, honors skip,limit
.explain([verbose])
.hint(...)
.showDiskLoc() - adds a $diskLoc field to each returned object
Cursor methods
.forEach( func )
.map( func )
.hasNext()
.next()
The Ruby API has the rewind!
method that does exactly what you want.
The Python API also has the cursor.rewind()
method.
The PHP API also has the cursor.rewind()
method.
However, neither the Java or C++ APIs have the rewind method. All can be found from the official API page.