command_cursor – Tools for iterating over MongoDB command results
CommandCursor class to iterate over command results.
class pymongo.command_cursor.``CommandCursor(collection, cursor_info, address, retrieved=0, batch_size=0, max_await_time_ms=None, session=None, explicit_session=False)
Create a new command cursor.
The parameter ‘retrieved’ is unused.
addressThe (host, port) of the server used, or None.
New in version 3.0.
aliveDoes this cursor have the potential to return more data?
Even if
aliveisTrue,next()can raiseStopIteration. Best to use a for loop:for doc in collection.aggregate(pipeline):print(doc)
Note
alivecan be True while iterating a cursor from a failed server. In this casealivewill return False afternext()fails to retrieve the next batch of results from the server.batch_size(batch_size)Limits the number of documents returned in one batch. Each batch requires a round trip to the server. It can be adjusted to optimize performance and limit data transfer.
Note
batch_size can not override MongoDB’s internal limits on the amount of data it will return to the client in a single batch (i.e if you set batch size to 1,000,000,000, MongoDB will currently only return 4-16MB of results per batch).
Raises
TypeErrorif batch_size is not an integer. RaisesValueErrorif batch_size is less than0.Parameters: - batch_size: The size of each batch of results requested.
close()Explicitly close / kill this cursor.
cursor_idReturns the id of the cursor.
next()Advance the cursor.
sessionThe cursor’s
ClientSession, or None.New in version 3.6.
class pymongo.command_cursor.``RawBatchCommandCursor(collection, cursor_info, address, retrieved=0, batch_size=0, max_await_time_ms=None, session=None, explicit_session=False)
Create a new cursor / iterator over raw batches of BSON data.
Should not be called directly by application developers - see aggregate_raw_batches() instead.
See also
The MongoDB documentation on
Previous topic
collection – Collection level operations
Next topic
cursor – Tools for iterating over MongoDB query results