diff --git a/src/cmap/commands.ts b/src/cmap/commands.ts index 02f7fa0d7e..a613447a06 100644 --- a/src/cmap/commands.ts +++ b/src/cmap/commands.ts @@ -73,6 +73,8 @@ export class OpQueryRequest { awaitData: boolean; exhaust: boolean; partial: boolean; + /** moreToCome is an OP_MSG only concept */ + moreToCome = false; constructor( public databaseName: string, diff --git a/src/cmap/connection.ts b/src/cmap/connection.ts index c8b5152870..986cce46b6 100644 --- a/src/cmap/connection.ts +++ b/src/cmap/connection.ts @@ -439,7 +439,7 @@ export class Connection extends TypedEventEmitter { zlibCompressionLevel: this.description.zlibCompressionLevel }); - if (options.noResponse || ('moreToCome' in message && message.moreToCome)) { + if (options.noResponse || message.moreToCome) { yield MongoDBResponse.empty; return; } @@ -529,7 +529,7 @@ export class Connection extends TypedEventEmitter { message, options.noResponse ? undefined - : 'moreToCome' in message && message.moreToCome + : message.moreToCome ? { ok: 1 } : (object ??= document.toObject(bsonOptions)), started, diff --git a/test/integration/node-specific/mongo_client.test.ts b/test/integration/node-specific/mongo_client.test.ts index 634516f8f7..bf94cbab7d 100644 --- a/test/integration/node-specific/mongo_client.test.ts +++ b/test/integration/node-specific/mongo_client.test.ts @@ -698,7 +698,7 @@ describe('class MongoClient', function () { expect(startedEvents).to.have.lengthOf(1); expect(startedEvents[0]).to.have.property('commandName', 'endSessions'); expect(endEvents).to.have.lengthOf(1); - expect(endEvents[0]).to.have.property('reply', undefined); // noReponse: true + expect(endEvents[0]).to.containSubset({ reply: { ok: 1 } }); }); context('when server selection would return no servers', () => { diff --git a/test/integration/read-write-concern/write_concern.test.ts b/test/integration/read-write-concern/write_concern.test.ts index 64e656e4df..9db7269b89 100644 --- a/test/integration/read-write-concern/write_concern.test.ts +++ b/test/integration/read-write-concern/write_concern.test.ts @@ -136,6 +136,7 @@ describe('Write Concern', function () { const listIndexesResult = col.listIndexes({ batchSize: 2 }); const err = await listIndexesResult.toArray().catch(e => e); + expect(err).to.not.be.instanceOf(Error); });