Mongoose中间件入门示例
来源:互联网 发布:信息软件开发 编辑:程序博客网 时间:2024/06/05 16:02
Mongoose的中间件功能很强大,可以把复杂的异步程序,诸如各种数据验证的方法,拆分后按照同步顺序执行,这里就举一个简单的中间件用法
//前面的代码都是范式,在基础入门已经提过了var mongoose = require('mongoose');mongoose.connect('mongodb://localhost:28001/test');var db = mongoose.connection;db.on('error', console.error.bind(console, 'connection error'));db.once('open', function () { console.log('mongoose is open!')});var personSchema = new Schema({ name:{ type:String, unique:true //这里指定了name的唯一性 },}) var Schema = mongoose.Schema;var Person = mongoose.model('Person', personSchema);//这里引用了一个中间件,此中间件在save操作之前执行,所以关键字是pre//判断error, 这里指的的是重复保存数据的一个error//中间件的写法和express很像//如果有error,那就会用next(err)传到下面//这里还有一点注意的是这个中间件要写在创建Person类的下面,否则无用personSchema.pre('save', function(err, doc, next){ if(err.name == 'MongoError' && err.code == 11000){ next(new Error('duplicated key error')) } else { next(err); } });//这里用了create方法Person.create([{name:'Tom'},{name:'Tom'}], function(err, doc){ if(err) console.log(err.message) console.log('saved'); console.log(doc)});
我们看到保存是成功的,但是只保存了一条document.
如果你再运行一次create操作,会看到控制台报错:
然后你再去看下mongoDB的客户端,里面还是一条数据,并没有重复记录。
阅读全文
1 0
- Mongoose中间件入门示例
- Mongoose中间件
- mongoose入门
- Mongoose入门
- Mongoose入门
- mongoose入门
- nodejs mongoose示例
- mongoose 入门笔记
- mongoose入门(一)
- mongoose入门(二)
- mongoose入门(一)
- mongoose入门(二)
- 7.Nodejs入门-----Mongoose
- Mongoose快速入门
- Mongoose基础入门
- Connect中间件示例
- Express + Mongoose 极简入门
- mongoose
- Java加密解密之消息摘要
- vue的常用指令
- toString的用法
- 虚函数实现原理
- Css学习总结(5)——CSS常见布局方式
- Mongoose中间件入门示例
- PHP利用openoffice实现文档装换
- 035 导数 微分对应表
- 第一天
- 带记事功能的日历插件fullCalendar
- 用类描述计算机中CPU的速度和硬盘的容量。要求Java的应用程序有4个类,名字分别是PC、CPU、HardDisk和Test,其中Test是主类。
- 【Android】RelativeLayout
- 【BOI2012】Mobile(mobile)
- 算法设计与分析笔记之(9):近似算法