mongoose的增删改查(含分页)
2017-10-27 本文已影响0人
HowlEagle101Div
1、引入mongoose
因为mongoose里面已经导入mongoodb,所以我们不需要单独引入mongodb;
const mongoose=require('mongoose'),
db_url='mongodb://localhost:27017/liuyan';// liuyan是随意起的数据库名称,可以任意更改
2、链接数据库
//链接数据库
const db=mongoose.createConnection(db_url);
//测试数据库是否链接成功
db.once('open',function () {
console.log('数据库链接成功')
});
3、设置数据类型,即数据的schema
var msgSchema=new mongoose.Schema({
title:{type:String},
content:{type:String,default:'haha'}, //default是设置默认值,可以不设置
time:{type:Number}
});
4、 创建一个数据类,类就相当于mongodb的集合
- 例如:如果类是Msg,那么集合就是msgs;
var Msg=db.model('Msg',msgSchema);
5、增:给数据库增加数据
- Msg.create(json,(err,result)=>{})
- 例如:
Msg.create({title:'haha1',time:new Date().getTime()},function (err,result) {
console.log('插入成功')
console.log(result)
});
6、删:删除数据库中指定的数据
- Msg.remove(json,(err,result)=>{});
- 例如:
Msg.remove({title:'haha'},(err,result)=>{
console.log(result)
})
7、改:更改数据库中指定的数据
- Msg.update(json1,json2,(err,result)=>{})
- 例如:
Msg.update({title:'haha'},{$set:{title:'leilei'}},(err,result)=>{
console.log(result)
})
8、查:查找数据库中的数据,包含分页和排序功能
- Msg.find(json1,(err,result)=>{}).sort(json2).limit().skip();
Msg.find({},(err,result)=>{
console.log(result)
}).sort({time:1}).limit(1).skip(1)
9、总数量:查询数据库中满足条件的数据条数;
- 注意,当后台通过res.send()给前端返回数据类型的时候,可以是字符串或对象,但一定不能是数字(数字.toString()先处理下,再用send)
- Msg.count(json,(err,result)=>{});
Msg.count({},(err,result)=>{
res.send(result.toString())
});