@@ -132,19 +132,19 @@ The following example illustrates an ``insert`` event:
132132
133133 {
134134 _id: { < Resume Token > },
135- operationType: ‘ insert’ ,
135+ operationType: ' insert' ,
136136 ns: {
137- db: ‘ engineering’ ,
138- coll: ‘ users’
137+ db: ' engineering' ,
138+ coll: ' users'
139139 },
140140 documentKey: {
141- userName: ‘ alice123’ ,
141+ userName: ' alice123' ,
142142 _id: ObjectId("599af247bb69cd89961c986d")
143143 },
144144 fullDocument: {
145145 _id: ObjectId("599af247bb69cd89961c986d"),
146- userName: ‘ alice123’ ,
147- name: ‘ Alice’
146+ userName: ' alice123' ,
147+ name: ' Alice'
148148 }
149149 }
150150
@@ -164,19 +164,19 @@ The following example illustrates an ``update`` event:
164164
165165 {
166166 _id: { < Resume Token > },
167- operationType: ‘ update’ ,
167+ operationType: ' update' ,
168168 ns: {
169- db: ‘ engineering’ ,
170- coll: ‘ users’
169+ db: ' engineering' ,
170+ coll: ' users'
171171 },
172172 documentKey: {
173173 _id: ObjectId("58a4eb4a30c75625e00d2820")
174174 },
175175 updateDescription: {
176176 updatedFields: {
177- 177+ 178178 },
179- removedFields: [‘ phoneNumber’ ]
179+ removedFields: [' phoneNumber' ]
180180 }
181181 }
182182
@@ -187,26 +187,26 @@ opened with the ``fullDocument : updateLookup`` option:
187187
188188 {
189189 _id: { < Resume Token > },
190- operationType: ‘ update’ ,
190+ operationType: ' update' ,
191191 ns: {
192- db: ‘ engineering’ ,
193- coll: ‘ users’
192+ db: ' engineering' ,
193+ coll: ' users'
194194 },
195195 documentKey: {
196196 _id: ObjectId("58a4eb4a30c75625e00d2820")
197197 },
198198 updateDescription: {
199199 updatedFields: {
200- 200+ 201201 },
202- removedFields: [‘ phoneNumber’ ]
202+ removedFields: [' phoneNumber' ]
203203 },
204204 fullDocument: {
205205 _id: ObjectId("58a4eb4a30c75625e00d2820"),
206- name: ‘ Alice’ ,
207- userName: ‘ alice123’ ,
208- 209- team: ‘ replication’
206+ name: ' Alice' ,
207+ userName: ' alice123' ,
208+ 209+ team: ' replication'
210210 }
211211 }
212212
@@ -225,18 +225,18 @@ The following example illustrates a ``replace`` event:
225225
226226 {
227227 _id: { < Resume Token > },
228- operationType: ‘ replace’ ,
228+ operationType: ' replace' ,
229229 ns: {
230- db: ‘ engineering’ ,
231- coll: ‘ users’
230+ db: ' engineering' ,
231+ coll: ' users'
232232 },
233233 documentKey: {
234234 _id: ObjectId("599af247bb69cd89961c986d")
235235 },
236236 fullDocument: {
237237 _id: ObjectId("599af247bb69cd89961c986d"),
238- userName: ‘ alice123’ ,
239- name: ‘ Alice’
238+ userName: ' alice123' ,
239+ name: ' Alice'
240240 }
241241 }
242242
@@ -263,10 +263,10 @@ The following example illustrates a ``delete`` event:
263263 "$oid":"599af247bb69cd89961c986d"
264264 }
265265 },
266- operationType: ‘ delete’ ,
266+ operationType: ' delete' ,
267267 ns: {
268- db: ‘ engineers’,
269- coll: ‘ users’
268+ db: ' engineers',
269+ coll: ' users'
270270 },
271271 documentKey: {
272272 _id: ObjectId("599af247bb69cd89961c986d")
@@ -275,3 +275,28 @@ The following example illustrates a ``delete`` event:
275275
276276The ``fullDocument`` document is omitted as the document no longer exists at the
277277time the change stream cursor sends the ``delete`` event to the client.
278+
279+
280+ .. _change-event-invalidate:
281+
282+ ``invalidate`` Event
283+ --------------------
284+
285+ The following example illustrates an ``invalidate`` event:
286+
287+ .. code-block:: none
288+
289+ {
290+ _id: { < Resume Token > },
291+ operationType: 'invalidate'
292+ }
293+
294+ All fields except for ``_id`` and ``operationType`` are omitted.
295+
296+ ``invalidate`` events occur after a :dbcommand:`dropDatabase`,
297+ :dbcommand:`drop`, or :dbcommand:`renameCollection` command that
298+ affects the watched collection. ``invalidate`` events close the change
299+ stream cursor and signal that any locally cached data is out
300+ of sync with the server.
301+
302+ .. include:: /includes/fact-cannot-resume-invalidated-change-stream.rst
0 commit comments