前言:
专栏的上篇文章只写了一个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
});