This version of the documentation is archived and no longer supported.



Append the cursor.snapshot() method to a cursor to toggle the “snapshot” mode. This ensures that the query will not return a document multiple times, even if intervening write operations result in a move of the document due to the growth in document size.


  • You must apply cursor.snapshot() to the cursor before retrieving any documents from the database.
  • You can only use snapshot() with unsharded collections.

The snapshot() does not guarantee isolation from insertion or deletions.

The cursor.snapshot() traverses the index on the _id field. As such, snapshot() cannot be used with sort() or hint().

Queries with results of less than 1 megabyte are effectively implicitly snapshotted.