if have following schema , middleware hooks, find
, findone
hooks never being called. save
, update
hooks work expected. according mongoose middleware documentation, should available.
// define schema our recs model var recschema = mongoose.schema({ dis: string, // rec display mod: string // modified date (haystack format) }, { strict: false }); // create model recs var model = recsdb.model('recs', recschema); recschema.pre('save', function(next) { this.mod = hdatetime.now(htimezone.utc).tozinc(); next(); }); recschema.pre('update', function(next) { this.mod = hdatetime.now(htimezone.utc).tozinc(); next(); }); recschema.pre('find', function() { console.log("pre find"); }); recschema.pre('findone', function() { console.log("pre find one"); }); recschema.post('find', function() { console.log("post find"); }); recschema.post('findone', function() { console.log("post find one"); });
the issue ended being order of items. apparently must define model after setting find hooks. not required save , update hooks though.
// define schema our recs model var recschema = mongoose.schema({ dis: string, // rec display mod: string // modified date (haystack format) }, { strict: false }); recschema.pre('save', function(next) { this.mod = hdatetime.now(htimezone.utc).tozinc(); next(); }); recschema.pre('update', function(next) { this.mod = hdatetime.now(htimezone.utc).tozinc(); next(); }); recschema.pre('find', function(next) { console.log("pre find"); next(); }); recschema.pre('findone', function(next) { console.log("pre find one"); next(); }); recschema.post('find', function(doc) { console.log("post find"); }); recschema.post('findone', function(doc) { console.log("post find one"); }); // create model recs var model = recsdb.model('recs', recschema);
Comments
Post a Comment