mongoose的API总结

前言:

专栏的上篇文章只写了一个find()用来查询,实际上mongoose的api还有很多,为了后续更方便操作MongoDB数据库,本篇总结一下常用的api合集

一、查询:

  • 查询所有

let re=await 名称.find({});
let re=await userModel.find({});
  • 根据指定属性值查询

let re=await 名称.find({
    目标属性名称:值
});
let re=await studentModel.find({
    gender:'男'
});
  • 大于指定属性值

let re=await 名称.find({
    目标属性名称:{
        $gt:值
    }
});

let re=await studentModel.find({
    age:{
        $gt:25
    }
});
  • 小于指定属性值

let re=await 名称.find({
    目标属性名称:{
        $lt:值
    }
});

let re=await studentModel.find({
    age:{
        $lt:25
    }
});
  • 大于等于指定属性值

let re=await 名称.find({
    目标属性名称:{
        $gte:值
    }
});

let re=await studentModel.find({
    age:{
        $gte:25
    }
});
  • 小于等于指定属性值

let re=await 名称.find({
    目标属性名称:{
        $lte:值
    }
});

let re=await studentModel.find({
    age:{
        $lte:25
    }
});
  • 满足任意一个指定条件

let re=await 名称.find({
    $or:[
        {
            条件1
        },
        {
            条件2
        },
        ......
    ]
});

let re=await studentModel.find({
    $or:[
        {
            age:{
                $lt:25
            } 
        },
        {
            gender:'女'
        }
    ]
});
  • 指定属性为指定值中任意一个值

let re=await 名称.find({
    目标属性名称:{
        $in:[值1,值2,......]
    }
})

let re=await studentModel.find({
    age:{
        $in:[22,25,28]
    }
});
  • 指定属性不为指定值中任意一个值

let re=await 名称.find({
    目标属性名称:{
        $nin:[值1,值2,......]
    }
})

let re=await studentModel.find({
    age:{
        $nin:[22,25,28]
    }
});
  • 满足指定的所有条件

let re=await 名称.find({
    $and:[
        {
            条件1
        },
        {
            条件2
        },
        ......
    ]
});

let re=await studentModel.find({
    $and:[
        {
            age:{
                $gt:24
            }
        },
        {
            age:{
                $lt:27
            }
        }
    ]
});
  • 查询指定属性值满足指定正则表达式规则

let re=await 名称.find({
    目标属性名称:{
        $regex:'正则表达式'
    }
});

let re=await studentModel.find({
    name:{
        $regex:'^张'
    }
});

 二、新增

let re=mongoose.model('名称').create({
    属性名称:属性值,
    ......
});

let re=await mongoose.model('courseModel').create({
    name:'NodeJS',
    credit:8,
    period:15
});

三、删除

返回结果对象中deleteCount属性为删除的对象个数,可以根据该值判断是否删除成功。

let re=mongoose.model('名称').deleteMany({
    条件
})

let re=await mongoose.model('courseModel').deleteMany({
    name:{
        $regex:'^a'
    }
});

四、修改

返回结果对象中modifiedCount属性为修改的对象个数,可以根据该值判断是否修改成功。

let re=mongoose.model('名称').updateMany({
    要修改的查找条件
},{
    新对象内容
})

let re=await mongoose.model('courseModel').updateMany({
    name:'bootstrap框架'
},{
    credit:1
});
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值