6.19.0 (2025-08-26)
The MongoDB Node.js team is pleased to announce version 6.19.0 of the mongodb
package!
Release Notes
Experimental Support for Queryable Encryption Text Field Prefix, Suffix and Substring Queries
Important
Substring, prefix and suffix search are in preview and should be used for experimental workloads only. These features are unstable and their security is not guaranteed until released as Generally Available (GA). The GA version of these features may not be backwards compatible with the preview version.
When using Queryable Encryption with both automatic encryption and explicit encryption, text fields can now be queried using prefix, suffix and substring queries. This feature requires mongodb-client-encryption@>=6.5.0
.
Allow a secureContext
for Auto Encryption and Client Encryption TLS options
This can be provided in the tlsOptions
option both both objects.
import * as tls from 'tls';
import { ClientEncryption, MongoClient } from 'mongodb';
const caFile = await fs.readFile(process.env.CSFLE_TLS_CA_FILE);
const certFile = await fs.readFile(process.env.CSFLE_TLS_CLIENT_CERT_FILE);
const secureContextOptions = {
ca: caFile,
key: certFile,
cert: certFile
};
const options = {
keyVaultNamespace: 'db.coll',
kmsProviders: {
aws: {}
}
},
tlsOptions: {
aws: {
secureContext: tls.createSecureContext(secureContextOptions),
}
}
};
const client = this.configuration.newClient({}, { autoEncryption: { ...options, schemaMap } });
const clientEncryption = new ClientEncryption(client, options);
collection.findOne()
and collection.find()
will no longer potentially leave open cursors on the server
The findOne
command will now always set the limit
option to 1
and singleBatch
to true
. The limit
, noCursorResponse
and batchSize
options have also been deprecated, and the command will guarantee no more cursors can be orphaned and no killCursors
command will be potentially executed.
find
will now set limit
to batchSize + 1
when both options were equal, to avoid leaving cursors open.
Clients no longer send a ping on connect
When authentication is enabled, the MongoClient
will no longer send a ping
command when connecting since it is unnecessary. Instead it will check a connection out of the pool to force the initial handshake, and check it back in.
Features
- NODE-4179: allow secureContext in KMS TLS options (#4578) (0ea6eaa)
- NODE-6472: findOne and find no longer keep open cursors (#4580) (be7f808)
- NODE-7020: remove ping on connect (#4607) (3d296b7)
- NODE-7059, NODE-7008: add support for text queries for QE string fields (#4597) (e4492f3)
Documentation
We invite you to try the mongodb
library immediately, and report any issues to the NODE project.