- Reference >
- Operators >
- Query Modifiers >
- $snapshot
$snapshot¶
-
$snapshot
¶ The
$snapshot
operator prevents the cursor from returning a document more than once because an intervening write operation results in a move of the document.Even in snapshot mode, objects inserted or deleted during the lifetime of the cursor may or may not be returned.
The
mongo
shell provides thecursor.snapshot()
method:You can also specify the option in either of the following forms:
The
$snapshot
operator traverses the index on the_id
field [1].Warning
- You cannot use
$snapshot
with sharded collections. - Do not use
$snapshot
with$hint
or$orderby
(or the correspondingcursor.hint()
andcursor.sort()
methods.)
[1] You can achieve the $snapshot
isolation behavior using any unique index on invariable fields.- You cannot use