Mongoose Middleware v3.8.8の補足。 特に保存するときのpre hook。
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
// こんなスキーマがあったとして
var schema = new Schema({
foo: String,
fooBigrams: [String]
});
// こんなフックを書けるよー
schema.pre('save', function(next) {
// 中身はthisにある。ドキュメントに書いてないのは気のせい?
console.log(this);
// 前処理
this.foo = normalizeText(this.foo);
this.fooBigrams = createNgramList(this.foo, 2);
next();
});