查询条件

124 阅读1分钟

$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个元素

// $gt 大于                     user.find({age:{$gt:18}})
// $lt 小于                     user.find({age:{$lt:18}})
// $or 或关系满足任意一项        user.find({$or:[{age:18},{sex:5}]})
// $nor 或关系取反满足任意一项   user.find({$or:[{age:18},{sex:5}]})
// $gte 大于等于                user.find({age:{$gte:20}})
// $lte 小于等于                user.find({age:{$lte:20}})
// $ne 不等于                   user.find({sex:{$ne:5}})
// $in 在多个值范围内            user.find({age:{$in:[18,15]}})  1815
// $nin 不在多个值范围内         user.find({age:{$nin:[18,15]}}) 除了 1815
// $all 匹配数组中多个值         user.find({age:{$all:[18]}})    必须满足条件
// $regex 正则,用于模糊查询     user.find({username:{$regex:'三'}}) 返回带有‘三’的所有数据
//                             user.find({name: {$regex: /^B.*/}}) 可以写正则表达式
// $size 匹配数组大小           user.find({arr: {$size: 3}})  需要是数组
// $mod 取模运算               user.find({age:{$mod:[6,2]}})  取age模运算61的数据


// $near 邻域查询,查询附近的位置(基于LBS)user.find({latlon:{$near:[经纬度],$maxDistance:500}})
// $maxDistance 范围查询,距离(基于LBS)user.find({latlon:{$near:[经纬度],$maxDistance:500}})


// $exists 字段是否存在           user.find({age:{$exists:true}}) 
// true:返回所有有age字段的数据
// false:返回所有没有age字段的数据

// 年龄小于18的数据 
// user.find( { age : { $gt: 18 } } );
// user.find({$where: "this.age > 18"})

// 年龄 大于18 小于30
// {age:{$gt:18,$lt:30}}
// 年龄 大于等于18 小于等于30
// {age:{$gte:18,$lte:30}}