Const Experimentalconst 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.
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.