mongoose post方法总结and疑点

本文探讨了Mongoose中pre和post钩子的功能及使用方法。通过实例演示了这两种钩子触发的时间点及其作用,有助于理解如何在文档保存前后执行特定任务。

官方文档代码:

 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

 

转载于:https://www.cnblogs.com/suoking/p/5258784.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值