您的位置:首页 > 编程语言 > Go语言

Mongoose —— 模型方法及验证器

2017-12-27 19:20 363 查看
一、模型方法

模型方法:

1、自定义静态方法

2、自定义实例方法

以代码为例:

var mongoose=require('mongoose');
var uri='mongodb://localhost/test10';

mongoose.connect(uri);// 首先要进行连接

var BookSchema=new mongoose.Schema({
name:String,
isbn:Number
});

// 声明一个通过isbn编号来进行查询的静态方法
BookSchema.statics.findByISBN=function(isbn,cb){
this.findOne({isbn:isbn},function(err,doc){
cb(err,doc);
});
};

// 实例方法
BookSchema.methods.print=function(){
console.log('Book information:');
console.log('\t Title:',this.name);
console.log('\t ISBN:',this.isbn);
};

var Book=mongoose.model('Book',BookSchema);//   创建模型
var book=new Book({
name:'Web development',
isbn:9787100
});
book.save(function(err){
if(err){
return console.log('save book failed',err);
}
// 静态方法:不依赖于某一个实例
Book.findByISBN(9787100,function(err,doc){
console.log('FindByISBN,err.doc:',err,doc);
});
// 非静态方法:和某一个实例有关
book.print();
});


二、验证器

验证器:

1、预定义的验证器:required, Number(max, min), String(enum, match)

2、自定义的验证器

var mongoose=require('mongoose');
var OrderSchema=new mongoose.Schema({
count:{
type:Number,
required:true, // 数据的校验,添加require,表明该字段是必须的
max:1000,// 数据允许的最大值
min:10// 数据允许的最小值
},
status:{
type:String,
enum:['created','success','failed'] //枚举验证器
},
decs:{
type:String,
match:/book/,//设置一个正则表达式验证器
validate:function(decs){
// 自定义验证器,规定该字段长度必须大于10
return decs.length>10;
}
}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  node.js mongoose
相关文章推荐