Mongoose and Model Connections
mongoose, node.js
Solution
It's easiest to just open the default connection pool that's shared by all your mongoose calls:
// Datastore.js
var mongoose = require('mongoose'),
db = mongoose.connect('localhost', 'dbname');
Then in all your other files access the pool using `mongoose.model(...)`.
Problem
I'm trying to get my head around how mongoose uses it's connection. At the moment I have: ``` // Datastore.js var mongoose = require('mongoose'), conn = mongoose.createConnection(); ... conn.open(host, database, port, options, callback); // Opens connection // Model.js var mongoose = require('mongoose'); var Schema = new mongoose.Schema({...}) module.exports = exports = mongoose.model('MyModel', Schema); // Controller.js var mongoose = require('mongoose'); var MyModel = mongoose.model('MyModel'); // Retrieves the model ok MyModel.find({}, function(err, docs){ if(err){} // console.log(docs); // Does not work }); ``` However this doesn't work... it only works if somehow I pass the connection across like so: ``` // Datastore.js var mongoose = require('mongoose'), conn = mongoose.createConnection(); ... conn.open(host, database, port, options, callback); // mongoose.set('db', conn); // Controller.js var mongoose = require('mongoose'), db = mongoose.get('db'); var MyModel = db.model('MyModel'); // Retrieve the model using the connection instance MyModel.find({}, function(err, docs){ if(err){} // console.log(docs); // Works }); ``` I think I'm approaching this in the wrong way... should the first approach work, and I'm doing something wrong?