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.
sslValidateboolean false optional Validate mongod server certificate against Certificate Authority
sslCAbuffer optional SSL Certificate store binary buffer
sslCertbuffer optional SSL Certificate binary buffer
sslKeybuffer optional SSL Key file binary buffer
sslPassstring optional SSL Certificate pass phrase
sslCRLbuffer optional SSL Certificate revocation list binary buffer
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
checkServerIdentityboolean | 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
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 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.