returns a function that will return a mongoose connection promise when called; it should be used in conjunction with the http-server-request-handlers-db module.
the initial intent of this module is to provide a way to re-initialize a mongoose connection, on an http request, if the connection threw an error, on application startup or was lost after startup.
see the examples directory for an actual implementation using these two modules together.
- error events will be logged to the console
- additional logging - if
options.connection.debug
is set totrue
the following events will also be logged to the console- connected
- connecting
- disconnected
- open
- reconnected
- if an error occurs, the error will be attached to the db object as
db.error
.
npm install mongoose-helpers-setup-db
/**
* @param {Object} user_options
* @param {Object} user_options.connection
* @param {Array} user_options.schemas
*
* @returns {Function}
*/
function setupDb( user_options )
- connected
- connecting
- disconnected
- error
- open
- reconnected
var express = require( 'express' )
var connection = require( 'mongoose-helpers-connection' )
var mongoose = require( 'mongoose' )
var setupDb = require( 'mongoose-helpers-setup-db' )
var app = express()
var User = new mongoose.Schema(
{
displayName: String,
email: String,
id: String,
photo: String
}
)
var options = {
connection: {
debug: config.debug,
uri: {
database: config.database,
password: config.password,
username: config.username
}
},
schemas: [
{
'User': User
}
]
}
setupDb( options )
.then(
function ( db ) {
app.db = db
}
)
.catch(
function ( err ) {
app.db = {
error: err
}
}
)
// elsewhere in your app on a route
app.db.model( 'User' )
.findOne(
{ 'id': id },
function( err, existing_user ) {
...
}
)