Mongoose ODM,在保存之前更改variables
我想为我的用户文档创build一个带有Mongoose的模型层,它会:
- validation(唯一,长度)
- 规范化(用户名和电子邮件被转换成小写字母来检查唯一性)
- 盐生成
- 密码散列
- (logging)
所有这些操作都需要在执行db之前执行。 幸运的是,mongoose支持validation,插件和中间件。
坏事是我找不到有关这个问题的好材料。 mongoosejs.com上的官方文档太短
有没有人有关于与Mongoose(或一个完整的插件,如果存在的话)的预先操作的例子?
问候
在Schema.pre('save', callback)
函数中, this
是保存的文档,在调用next()
之前对其进行的修改会改变保存的内容。
另一个select是使用Getters。 以下是网站的一个例子:
function toLower (v) { return v.toLowerCase(); } var UserSchema = new Schema({ email: { type: String, set: toLower } });
var db = require('mongoose'); var schema = new db.Schema({ foo: { type: String } }); schema.pre('save', function(next) { this.foo = 'bar'; next(); }); db.model('Thing', schema);
- socket.io-restrict每个名称空间的最大连接数
- Express-resource将附加数据从app.js传递给路由
- 基于Express和Mongoose的REST API – 在将对象返回给用户之前,过滤掉对象的某些属性
- 错误:require.paths被删除。 改用node_modules文件夹或NODE_PATH环境variables
- 护照js本地策略自定义callback“缺less凭据”
- 同构提取不适用于外部请求?
- 在LoopbackJS中:如何在启动脚本或服务器端代码中获取服务器协议(http或https)?
- browserify'错误:找不到模块'试图修复'未捕获的参考错误:需求未定义'
- 如何保持活动的NodeJS护照会话