new MongoClient(url, options, callback){MongoClient}
Creates a new MongoClient instance
| Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
url |
string |
The connection URI string |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options |
object |
optional
Optional settings
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
callback |
MongoClient~connectCallback |
optional
The command result callback |
Returns:
MongoClient instanceMethods
-
staticMongoClient.connect(url, options, callback){Promise.<MongoClient>}
-
Connect to MongoDB using a url as documented at
docs.mongodb.org/manual/reference/connection-string/
Note that for replicasets the replicaSet query parameter is required in the 2.0 driver
Name Type Description urlstring The connection URI string
optionsobject optional Optional settings
Name Type Default Description poolSizenumber 5 optional The maximum size of the individual server pool
sslboolean false optional Enable SSL connection. deprecated use
tlsvariantssslValidateboolean false optional Validate mongod server certificate against Certificate Authority deprecated use
tlsvariantssslCAbuffer optional SSL Certificate store binary buffer deprecated use
tlsvariantssslCertbuffer optional SSL Certificate binary buffer deprecated use
tlsvariantssslKeybuffer optional SSL Key file binary buffer deprecated use
tlsvariantssslPassstring optional SSL Certificate pass phrase deprecated use
tlsvariantssslCRLbuffer optional SSL Certificate revocation list binary buffer deprecated use
tlsvariantscheckServerIdentityboolean | function true optional Ensure we check server identify during SSL, set to false to disable checking. Only works for Node 0.12.x or higher. You can pass in a boolean or your own checkServerIdentity override function. deprecated use
tlsvariantstlsboolean false optional Enable TLS connections
tlsinsecureboolean false optional Relax TLS constraints, disabling validation
tlsCAFilestring optional A path to file with either a single or bundle of certificate authorities to be considered trusted when making a TLS connection
tlsCertificateKeyFilestring optional A path to the client certificate file or the client private key file; in the case that they both are needed, the files should be concatenated
tlsCertificateKeyFilePasswordstring optional The password to decrypt the client private key to be used for TLS connections
tlsAllowInvalidCertificatesboolean optional Specifies whether or not the driver should error when the server’s TLS certificate is invalid
tlsAllowInvalidHostnamesboolean optional Specifies whether or not the driver should error when there is a mismatch between the server’s hostname and the hostname specified by the TLS certificate
autoReconnectboolean true optional Enable autoReconnect for single server instances
noDelayboolean true optional TCP Connection no delay
keepAliveboolean true optional TCP Connection keep alive enabled
keepAliveInitialDelayboolean 30000 optional The number of milliseconds to wait before initiating keepAlive on the TCP socket
connectTimeoutMSnumber 30000 optional TCP Connection timeout setting
familynumber optional Version of IP stack. Can be 4, 6 or null (default).
If null, will attempt to connect with IPv6, and will fall back to IPv4 on failuresocketTimeoutMSnumber 360000 optional TCP Socket timeout setting
reconnectTriesnumber 30 optional Server attempt to reconnect #times
reconnectIntervalnumber 1000 optional Server will wait # milliseconds between retries
haboolean true optional Control if high availability monitoring runs for Replicaset or Mongos proxies
haIntervalnumber 10000 optional The High availability period for replicaset inquiry
replicaSetstring optional The Replicaset set name
secondaryAcceptableLatencyMSnumber 15 optional Cutoff latency point in MS for Replicaset member selection
acceptableLatencyMSnumber 15 optional Cutoff latency point in MS for Mongos proxies selection
connectWithNoPrimaryboolean false optional Sets if the driver should connect even if no primary is available
authSourcestring optional Define the database to authenticate against
wnumber | string optional The write concern
wtimeoutnumber optional The write concern timeout
jboolean false optional Specify a journal write concern
forceServerObjectIdboolean false optional Force server to assign _id values instead of driver
serializeFunctionsboolean false optional Serialize functions on any object
ignoreUndefinedBoolean false optional Specify if the BSON serializer should ignore undefined fields
rawboolean false optional Return document results as raw BSON buffers
bufferMaxEntriesnumber -1 optional Sets a cap on how many operations the driver will buffer up before giving up on getting a working connection, default is -1 which is unlimited
readPreferenceReadPreference | string optional The preferred read preference (ReadPreference.PRIMARY, ReadPreference.PRIMARY_PREFERRED, ReadPreference.SECONDARY, ReadPreference.SECONDARY_PREFERRED, ReadPreference.NEAREST)
pkFactoryobject optional A primary key factory object for generation of custom _id keys
promiseLibraryobject optional A Promise library class the application wishes to use such as Bluebird, must be ES6 compatible
readConcernobject optional Specify a read concern for the collection (only MongoDB 3.2 or higher supported)
Name Type Default Description levelReadConcernLevel 'local' optional Specify a read concern level for the collection operations (only MongoDB 3.2 or higher supported)
maxStalenessSecondsnumber optional The max staleness to secondary reads (values under 10 seconds cannot be guaranteed)
loggerLevelstring optional The logging level (error/warn/info/debug)
loggerobject optional Custom logger object
promoteValuesboolean true optional Promotes BSON values to native types where possible, set to false to only receive wrapper types
promoteBuffersboolean false optional Promotes Binary BSON values to native Node Buffers
promoteLongsboolean true optional Promotes long values to number if they fit inside the 53 bits resolution
domainsEnabledboolean false optional Enable the wrapping of the callback in the current domain, disabled by default to avoid perf hit
validateOptionsobject false optional Validate MongoClient passed in options for correctness
appnamestring optional The name of the application that created this MongoClient instance. MongoDB 3.4 and newer will print this value in the server log upon establishing each connection. It is also recorded in the slow query log and profile collections
auth.userstring optional The username for auth
auth.passwordstring optional The password for auth
authMechanismstring optional Mechanism for authentication: MDEFAULT, GSSAPI, PLAIN, MONGODB-X509, or SCRAM-SHA-1
compressionobject optional Type of compression to use: snappy or zlib
fsyncboolean false optional Specify a file sync write concern
readPreferenceTagsarray optional Read preference tags
numberOfRetriesnumber 5 optional The number of retries for a tailable cursor
auto_reconnectboolean true optional Enable auto reconnecting for single server instances
minSizenumber optional If present, the connection pool will be initialized with minSize connections, and will never dip below minSize connections
callbackMongoClient~connectCallback optional The command result callback
Returns:
Promise if no callback passed
-
close(force, callback){Promise}
-
Close the db and its underlying connections
Name Type Default Description forceboolean false optional Force close, emitting no events
callbackDb~noResultCallback optional The result callback
Returns:
Promise if no callback passed
-
connect(callback){Promise.<MongoClient>}
-
Connect to MongoDB using a url as documented at
docs.mongodb.org/manual/reference/connection-string/
Note that for replicasets the replicaSet query parameter is required in the 2.0 driver
Name Type Description callbackMongoClient~connectCallback optional The command result callback
Returns:
Promise if no callback passed
-
db(dbName, options){Db}
-
Create a new Db instance sharing the current socket connections. Be aware that the new db instances are
related in a parent-child relationship to the original instance so that events are correctly emitted on child
db instances. Child db instances are cached so performing db('db1') twice will return the same instance.
You can control these behaviors with the options noListener and returnNonCachedInstance.Name Type Description dbNamestring optional The name of the database we want to use. If not provided, use database name from connection string.
optionsobject optional Optional settings.
Name Type Default Description noListenerboolean false optional Do not make the db an event listener to the original connection.
returnNonCachedInstanceboolean false optional Control if you want to return a cached instance or have a new one created
-
isConnected(options){boolean}
-
Check if MongoClient is connected
Name Type Description optionsobject optional Optional settings.
Name Type Default Description noListenerboolean false optional Do not make the db an event listener to the original connection.
returnNonCachedInstanceboolean false optional Control if you want to return a cached instance or have a new one created
-
startSession(options){ClientSession}
-
Starts a new session on the server
Name Type Description optionsSessionOptions optional optional settings for a driver session
Returns:
newly established session
-
watch(pipeline, options){ChangeStream}
-
Create a new Change Stream, watching for new changes (insertions, updates, replacements, deletions, and invalidations) in this cluster. Will ignore all changes to system collections, as well as the local, admin,
and config databases.Name Type Description pipelineArray optional An array of aggregation pipeline stages through which to pass change stream documents. This allows for filtering (using $match) and manipulating the change stream documents.
optionsobject optional Optional settings
Name Type Default Description fullDocumentstring 'default' optional Allowed values: ‘default’, ‘updateLookup’. When set to ‘updateLookup’, the change stream will include both a delta describing the changes to the document, as well as a copy of the entire document that was changed from some time after the change occurred.
resumeAfterobject optional Specifies the logical starting point for the new change stream. This should be the _id field from a previously returned change stream document.
maxAwaitTimeMSnumber optional The maximum amount of time for the server to wait on new documents to satisfy a change stream query
batchSizenumber 1000 optional The number of documents to return per batch. See aggregation documentation.
collationobject optional Specify collation settings for operation. See aggregation documentation.
readPreferenceReadPreference optional The read preference. See read preference documentation.
startAtOperationTimeTimestamp optional receive change events that occur after the specified timestamp
sessionClientSession optional optional session to use for this operation
- Since:
- 3.1.0
Returns:
ChangeStream instance.
-
withSession(options, operation){Promise}
-
Runs a given operation with an implicitly created session. The lifetime of the session
will be handled without the need for user interaction.NOTE: presently the operation MUST return a Promise (either explicit or implicity as an async function)
Name Type Description optionsObject optional Optional settings to be appled to implicitly created session
operationfunction An operation to execute with an implicitly created session. The signature of this MUST be
(session) => {}
Type Definitions
-
connectCallback(error, client)
-
The callback format for results
Name Type Description errorMongoError An error instance representing the error during the execution.
clientMongoClient The connected client.