mongoose-construct
adds a hook similiar to the init hook, except it's called everytime a model instance is created, whether it's brand new or loaded from the database (whereas the init hook only gets called when you load the object from the database via find query)
npm install --save mongoose-construct
var mongoose = require('mongoose')
, Schema = mongoose.Schema
, construct = require('mongoose-construct')
var user = new Schema({})
user.plugin(construct)
user.pre('construct', function(next){
console.log('Constructor called...')
next()
})
var User = mongoose.model('User', user)
var myUser = new User(); // construct hook will be called
````