@springworks/mongoose-connection
v5.2.1
Published
Manages a named connection to a mongoose database.
Downloads
15
Readme
@springworks/mongoose-connection
Module that creates and manages a named mongoose connection to a MongoDB database.
The module exports a single function used to create a named wrapper around a mongoose connection.
Example:
const connection_name = 'my connection'; // Used to retrieve connection
const mongo_uri = 'mongodb://...';
const logger = null; // Optional Bunyan logger
const mongoose_connection = require('@springworks/mongoose-connection');
const wrapped_connection = mongoose_connection.getWrapper(connection_name, mongo_uri, logger);
// The connection:
wrapped_connection.connection();
// Connect to the DB. The connect method can be called multiple times.
// Callbacks will be queued until the connection is established (or it failes).
wrapped_connection.connect(function(err) {
if (!err) {
// Connected
}
});
// Disconnect from the DB. Like the connect method, disconnect can be called
// multiple times and will queue callbacks until disconnected.
wrapped_connection.disconnect(function(err) {
if (!err) {
// Disconnected
}
});
// Ping the db server (using the db command "ping")
wrapped_connection.ping(function(err) {
console.log('Ping %s', err ? 'failed' : 'succeeded');
});
Mongoose
This module will export its own version of mongoose. Please use that export instead of having mongoose as a dependency in the project using this module. The motivation behind this is that we ran into errors when using different versions of mongoose in the project using this module.
const mongoose_connection = require('@springworks/mongoose-connection');
const mongoose = mongoose_connection.mongoose;
databaseUriFromConfig
Can be used to generate a connection string based on a config object.
const mongoose_connection = require('@springworks/mongoose-connection');
const uri = mongoose_connection.databaseUriFromConfig({
primary_db,
secondary_dbs,
db_user,
db_pass,
db_name,
});
API
getWrapper(connection_name, mongo_uri, logger)
Create or retrieve a shared connection wrapper by name and uri.
Returns an object with the methods connection
, connect
and disconnect
.
connection()
Get the connection object used by mongoose.
connect(callback)
Connect to the DB. The connect method can be called multiple times while connecting. Callbacks will be queued until the connection is established (or it failes).
The callback function will be invoked with a single err
param.
disconnect(callback)
Disconnect from the DB. Like the connect method, disconnect can be called multiple times and will queue callbacks until disconnected.
The callback function will be invoked with a single err
param.
ping(callback)
Ping db server using the ping command. The ping command is a no-op used to test whether a server is responding to commands. This command will return immediately even if the server is write-locked.
The callback function will be invoked with a single err
param if ping fails.