app.js
1 2 3 4 5 6 7 8 //uselNewUrlParser这个属性会在url里识别验证用户所需的db,未升级前是不需要指定的,升级到一定要指定。 mongoose.connect('mongodb://127.0.0.1:27017/egecms',{ useNewUrlParser: true },function(err){ if(err){ console.log(err); return; } console.log( '数据库连接成功") );
1 2 3 4 5 6 7 8 9 10 // 定义数据表(集合的)映射︰注意。字段名称必须和数据库保持一致 var UserSchema=mongoose.Schema({ name:String, age:Number, status:{ type:Number, default:1 } }) // 定义model操作数据库
user.js
1 2 3 4 5 6 7 8 9 10 var mongoose = require('./db.js'); var UserSchema=mongoose.Schema({ name:String, age:Number, status:{ type:Number, default:1 } }) module.exports=mongoose.model( "User", UserSchema, "user');
app.js
1 2 3 4 5 6 7 8 9 var UserModel=require("./model/user.js"); UserModel.find({},function(err,docs){ if(err){ console.log(err); return; } console.log(docs); })
news.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 var mongoose=require('./db.js'); var NewsSchema=mongoose.Schema({ title:{ type:String, trim:true //定义 mongoose模式修饰符去掉空格 }, author: String, pic:String, content:String, status:{ type:Number, default:1 } }) module.exports=mongoose.model('News',NewsSchema, 'news');
app.js
1 2 3 4 5 6 console.time('user'); var UserModel=require("./model/user.js"); console.timeEnd('user'); console.time('news'); var NewsModel=require('./model/news.js'); console.timeEnd('news');
Mongoose预定义模式修饰符Getters与Setters自定义修饰符 一、mongoose预定义模式修饰符 lowercase、uppercase 、 trim
mongoose提供的预定义模式修饰符,可以对我们增加的数据进行一些格式化。
二、Mongoose Getters 与Setters自定义修饰符 除了mongoose内置的修饰符以外,我们还可以通过set(建议使用)修饰符在增加数据的时候对数据进行格式化。也可以通过get(不建议使用)在实例获取数据的时候对数据进行
Mongoose索引、Mongoose内置CURD方法、扩展Mongoose Model的静态方法和实例方法 一、Mongoose索引 二、Mongoose内置CURD Mongoose数据校验 一、Mongoose校验参数
required :表示这个数据必须传入
max用于Number类型数据,最大值
min:用于Number类型数据,最小值
enum:枚举类型,要求数据必须满足枚举值enum: ['0','1','2']
match:增加的数据必须符合match(正则)的规则
maxlength:最大值
minlength:最小值
Mongoose中使用aggregate聚合管道