Skip to content
A bridge between the M and C bits of MVC
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


A model loader that a controller calls. Basically, just the M and C bits of MVC.

An interface for controllers to specify that certain models will be needed, and then have them get loaded.


var MC = require('emcee')

// add a bunch of models
MC.model('login', function (req, cb) {
  // callback is called with (er, data)
  req.session.get('login', cb)

MC.model('train', function (url, res, cb) {


// later on...

http.createServer(function (req, res) {
  // check if the user is logged in.
  var m = new MC()

  // modelname, args...
  m.load('login', req)
  m.load('bike', req.url, res)
  // different kind of bike: modelname, alias, args...
  m.loadAs('bike', 'motorbike', 'dirt', 'roads')

  m.end(function (er, models) {
    // either there is an error, or all models are loaded on the
    // 'models' object.  note that all errors are assumed to be
    // catastrophic, so you only get the first error, and the
    // models object will only contain the models that got loaded
    // before the error occurred.
Something went wrong with that request. Please try again.