mongoose查询有两种方式执行
- 传callbaock函数结果会传给函数
- 不传callback返回一个实例
传 递 c a l l b a c k 方 式 \color{blue}{传递callback方式} 传递callback方式
articleModel.findOne({articleId:2},function (err,aricle) {
console.log(aricle)
})
不 传 c a l l b a c k 方 式 \color{blue}{不传callback方式} 不传callback方式
let article = articleModel.findOne({articleId:2})
article.exec(function (err,result) {
console.log(result)
})
查询条件
$or 或关系
$nor 或关系取反
$gt 大于
$gte 大于等于
$lt 小于
$lte 小于等于
$ne 不等于
$in 在多个值范围内
$nin 不在多个值范围内
$all 匹配数组中多个值
$regex 正则,用于模糊查询
$size 匹配数组大小
$maxDistance 范围查询,距离(基于LBS)
$mod 取模运算
$near 邻域查询,查询附近的位置(基于LBS)
$exists 字段是否存在
$elemMatch 匹配内数组内的元素
$within 范围查询(基于LBS)
$box 范围查询,矩形范围(基于LBS)
$center 范围醒询,圆形范围(基于LBS)
$centerSphere 范围查询,球形范围(基于LBS)
$slice 查询字段集合中的元素(比如从第几个之后,第N到第M个元素)
例如:查询articleId大于5的记录
$gt大于
articleModel.find({articleId:{$gt:5}},function (err,result) {
console.log(result)
})
例:查询articleId大于5小于10的记录
articleModel.find({articleId:{$gt:5,$lt:10}},function (err,result) {
console.log(result)
})
例:查询前10条记录
skip(n) 跳过n条记录
limit(m) 查询m条记录
articleModel.find(function (err,result) {
console.log(result)
}).skip(0).limit(10)