mongoose post方法总结and疑点

官方文档代码:

 1 var schema = new Schema(..);
 2 schema.post('save', function (doc) {
 3   console.log('this fired after a document was saved');
 4 });
 5 
 6 var Model = mongoose.model('Model', schema);
 7 
 8 var m = new Model(..);
 9 m.save(function (err) {
10   console.log('this fires after the `post` hook');
11 });

大概意思是m在保存时会触发post监听的事件会被触发,

不明白post和pre有什么区别,

个人猜测,

1、触发的时间不同

 

pre发生在监听事件的前面;

post发生在在pre后面,但是好像也发生在监听事件的前面,但是比pre靠后,

 1 UserSchema.post('save',function(doc){
 2     console.log("post");
 3     this.name="44444";
 4 });
 5 UserSchema.pre('save',function(next){
 6     console.log("pre");
 7     this.name="  "+"222";
 8     console.log(this.name);
 9     next();
10 });

输出结果为

1 /Users/Amanda/.nvm/versions/node/v4.3.1/bin/node bin/www
2 pre
3 222
4 post
5 save ok
6 OOO44444OOO

 

posted @ 2016-03-09 16:46  挥刀  阅读(1213)  评论(0编辑  收藏  举报