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

私人可以做org后缀网站吗seo薪资seo

私人可以做org后缀网站吗,seo薪资seo,环境影响评价工程师,wordpress后台加载慢目录 官方文档 简介 定义模型 注册中间件 创建doc实例#xff0c;并进行增删改查 方法名和注册的中间件名相匹配 执行结果 分析 错误处理中间件 手动抛出错误 注意点 官方文档 Mongoose v8.0.3: Middleware 简介 在mongoose中#xff0c;中间件是一种允许在执…目录 官方文档 简介 定义模型 注册中间件 创建doc实例并进行增删改查 方法名和注册的中间件名相匹配 执行结果 分析 错误处理中间件  手动抛出错误 注意点 官方文档 Mongoose v8.0.3: Middleware 简介 在mongoose中中间件是一种允许在执行数据库操作前pre或后post执行自定义逻辑的机制。 定义模型 const mongoose require(mongoose); const schema new mongoose.Schema({name: {type: String,required: true}}, ); 注册中间件 pre为前置中间件post为后置中间件允许正则匹配 schema.pre(validate, function(next){ // this指向正在验证的docconsole.log(doc validate before)next() }) schema.post(validate, function(doc) { //this doc trueconsole.log(doc validated) })schema.pre(save, function(next){ // this指向正在验证的docconsole.log(doc save brfore)next() }) schema.post(save, function(doc) { //this doc trueconsole.log(doc saved) })schema.pre(init, function(doc) { // doc是查询的文档console.log(doc init before) })schema.post(init, function(doc) { // this doc trueconsole.log(doc inited) })schema.pre(/find/, function() { //this指向Query实例 console.log(doc find) })schema.post(/find/, function(doc) { // doc是查询的文档console.log(doc finded) })schema.pre(updateOne, function(next){ //this指向Query实例 _conditions: { _id: new ObjectId(658147685eca07e7b0c52259) }console.log(doc update before)next() })schema.post(updateOne, function(res) { // res更新结果console.log(doc updated) })schema.pre(deleteOne, function(next){ //this指向Query实例 _conditions: { _id: new ObjectId(658147685eca07e7b0c52259) }console.log(doc remove before)next() })schema.post(deleteOne, function() { // res删除结果console.log(doc removed) })schema.pre(aggregate, function() { // this指向正在处理的aggregate })schema.pre(aggregate, function() { // this指向正在处理的aggregate })const Model mongoose.model(SchemaIdentify, schema)创建doc实例并进行增删改查 app.post(/, async (req, res) {const doc new Model({name: saaaaaaaaaa,})await doc.save()await Model.findById(doc._id)await Model.updateOne({_id: doc._id}, {name: hahahahah})await Model.deleteOne({_id: doc._id}) res.status(200).json() }) 方法名和注册的中间件名相匹配 执行结果 分析 Mongoose 内部有一个内置的 pre(save) 钩子它会调用 validate() 方法从而触发中间件。因此在执行 save() 之前所有注册的 pre(validate) 和 post(validate) 钩子都会被调用 schema.pre(save, async function(next){ // 模拟内置await this.validate() // this指向正在处理的docnext() }) 注册validate、save、/find/ 、/update/、/delete/等前置中间件接收一个next函数可以控制next决定是否继续执行注册的中间件 回调函数中的this有不同的指向validate、save中间件指向正在处理的文档 /find/ 、/update/、/delete/等中间件中的this指向Query实例。后置中间件validate、save接收一个参数表示处理过的doc/find/接收一个参数表示查询结果doc或docs、/update/、/delete/等中间件接收一个参数表示处理的结果 第二个参数为next。 /find/ /update/ /delete/ 错误处理中间件  当执行某操作的时候如果发生错误后置中间件会接收一个error参数并且不会继续执行后续的中间件规定定义三个参数 不传入更新的内容 schema.post(updateOne, function(error, res, next) { // res更新结果console.log(doc updated, error)next() }) 手动抛出错误 不管是前置、后置任何中间件中手动抛出一个错误也不会继续往下执行中间件 schema.post(/find/, function(doc) {throw new Error(eeeerrror) }) 注意点 1、中间件如果不声明next参数执行完则默认继续执行下一个中间件如果中间件声明了next不调用则卡在这个中间件声明必调用要不就不声明 2、在const Model mongoose.model(SchemaIdentify, schema) 编译之前声明中间件否则中间件不会执行 3、/update/ 中间件并不会触发save中间件也就不会调用validate即也不会执行validate中间件。可以调用Model.findOneAndUpdate或findByIdAndUpdat设置第三个参数options { runValidators: true }允许monggose进行数据校验。
http://www.zqtcl.cn/news/399312/

相关文章:

  • 品牌网站建设营销型网站设计网站整合方案
  • 网站开发设计师网站代理什么意思
  • 网站层级关系邯郸品牌商标vi设计策划公司
  • 网站开发产品需求说明小网站代码
  • 苏州网站推广排名网站建设方案范文8篇
  • 自己做考试题目网站广州番禺区美食攻略
  • 广州做网站如何如何制作一个网页
  • 网站定制开发收费标准是多少网站代码优化方案
  • 制作卡牌的网站深圳正规煤气公司
  • 手表网站哪家好网站用图片
  • 群辉nas 做网站wordpress linux 中文
  • 平面设计素材网站排名巩义网站建设方案表
  • 延庆网站制作搜索引擎优化的基础是什么
  • 管理手机网站商城网站备案流程
  • 怀化买房网站网站广告js代码添加
  • 做网站 帮别人卖服务器wordpress主题多页面
  • 代理游戏网站潍坊市建设工程管理处网站
  • 大同推广型网站建设网站规划建设与管理维护第二版答案
  • 做网站需要代码吗户外媒体网站建设免费
  • 做什么网站国外做图标网站
  • 网站建设技术部职责门户网站工作总结
  • 用个人电脑做服务器建网站急切网头像在线制作图片
  • 企业网站制作教程浙江省住房和城乡建设厅网站
  • 一个网络空间如何做两个网站哪个网站兼职做设计比较好
  • jquery代码做的网站免费搭建网站模板
  • 铁路建设监理协会官方网站邯郸市网
  • 马鞍山集团网站建设客流分析系统公司
  • 淘客网站怎么做啊抖音怎么挂小程序赚钱
  • 在哪里申请网站域名美妆销售网站开发的目的
  • 网站自动跳转施秉网站建设