mongoose的增删改查(含分页)

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())
});

你可能感兴趣的:(mongoose的增删改查(含分页))