diff --git a/src/cmap/connection.ts b/src/cmap/connection.ts index 1a93d1b77f..bc6189e651 100644 --- a/src/cmap/connection.ts +++ b/src/cmap/connection.ts @@ -439,7 +439,7 @@ export class Connection extends EventEmitter { } if (typeof options.timeout === 'boolean') { - query.noCursorTimeout = options.timeout; + query.noCursorTimeout = !options.timeout; } else if (typeof options.noCursorTimeout === 'boolean') { query.noCursorTimeout = options.noCursorTimeout; } diff --git a/src/operations/find.ts b/src/operations/find.ts index 643ba6b3b7..93864c8948 100644 --- a/src/operations/find.ts +++ b/src/operations/find.ts @@ -264,7 +264,7 @@ function makeFindCommand(ns: MongoDBNamespace, filter: Document, options: FindOp } if (typeof options.timeout === 'boolean') { - findCommand.noCursorTimeout = options.timeout; + findCommand.noCursorTimeout = !options.timeout; } else if (typeof options.noCursorTimeout === 'boolean') { findCommand.noCursorTimeout = options.noCursorTimeout; } diff --git a/test/functional/find.test.js b/test/functional/find.test.js index c3cbb12eae..b6161a2f7d 100644 --- a/test/functional/find.test.js +++ b/test/functional/find.test.js @@ -1131,7 +1131,7 @@ describe('Find', function () { const db = client.db(this.configuration.db); db.createCollection('cursor_timeout_false_0', (err, collection) => { expect(err).to.not.exist; - const cursor = collection.find({}, { timeout: true }); + const cursor = collection.find({}, { timeout: false }); cursor.toArray(err => { expect(err).to.not.exist; expect(events[0]).nested.property('command.noCursorTimeout').to.equal(true);