OptionalawaitOptionalreadOptionalsession?: ClientSessionOptionaltailable?: booleanOptional Experimentaltimeoutconst cursor = collection.find({}, {timeoutMS: 100, timeoutMode: 'iteration'});
for await (const doc of cursor) {
// process doc
// This will throw a timeout error if any of the iterator's `next()` calls takes more than 100ms, but
// will continue to iterate successfully otherwise, regardless of the number of batches.
}
const cursor = collection.find({}, { timeoutMS: 1000, timeoutMode: 'cursorLifetime' });
const docs = await cursor.toArray(); // This entire line will throw a timeout error if all batches are not fetched and returned within 1000ms.
Optional ExperimentaltimeoutMS?: numberSpecifies the time an operation will run until it throws a timeout error. Note that if
maxTimeMS is provided in the command in addition to setting timeoutMS in the options, then
the original value of maxTimeMS will be overwritten.
Specifies how
timeoutMSis applied to the cursor. Can be either'cursorLifeTime'or'iteration'When set to'iteration', the deadline specified bytimeoutMSapplies to each call ofcursor.next(). When set to'cursorLifetime', the deadline applies to the life of the entire cursor.Depending on the type of cursor being used, this option has different default values. For non-tailable cursors, this value defaults to
'cursorLifetime'For tailable cursors, this value defaults to'iteration'since tailable cursors, by definition can have an arbitrarily long lifetime.