当前位置: 首页 > news >正文

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

 

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

相关文章:

  • 算法导论笔记——第十二~十四章 数据结构(二)树
  • 招Java工程师一名
  • React Native商城项目实战10 - 个人中心中间内容设置
  • shell中的并且、和、或者
  • 时间控件-pikaday.js
  • POJ 1328 Radar Installation贪心算法
  • 分享我的第一次Selenium自动化测试框架开发过程
  • Android 透明度对照表
  • git命令
  • 高级查询
  • Scott Guthrie访谈:定制仪表板与Azure Monitor
  • 打包新版本上传到AppStore时报错 ERROR ITMS-90034:
  • Eclipse导入项目:No projects are found to import
  • SLF4J - 借助SLF4J, 统一适配所有日志实现为logback日志实现的实践
  • js作用域和this的理解
  • JS变量作用域
  • Phpstorm怎样批量删除空行?
  • Redis字符串类型内部编码剖析
  • spark本地环境的搭建到运行第一个spark程序
  • SQLServer之索引简介
  • Vue.js 移动端适配之 vw 解决方案
  • vue自定义指令实现v-tap插件
  • 翻译--Thinking in React
  • 将 Measurements 和 Units 应用到物理学
  • 设计模式 开闭原则
  • 设计模式走一遍---观察者模式
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (NSDate) 时间 (time )比较
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (十) 初识 Docker file
  • (万字长文)Spring的核心知识尽揽其中
  • (一) storm的集群安装与配置
  • (转)linux 命令大全
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .net程序集学习心得
  • .NET委托:一个关于C#的睡前故事
  • .sh 的运行
  • //解决validator验证插件多个name相同只验证第一的问题
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法
  • @media screen 针对不同移动设备
  • [APIO2015]巴厘岛的雕塑
  • [BZOJ] 2006: [NOI2010]超级钢琴
  • [CF226E]Noble Knight's Path
  • [Django ]Django 的数据库操作
  • [Godot] 3D拾取
  • [IE编程] 了解Urlmon.dll和Wininet.dll
  • [JavaScript]_[初级]_[不使用JQuery原生Ajax提交表单文件并监听进度]
  • [leetcode]_Symmetric Tree