mongoose 查询操作

2020年11月17日 作者 张舫

条件

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

# find()

## find({“this.name == ‘a'”})

注:conditions 查询条件、fields 想要查询的字段、options 、callback 回调函数
示例: 查询用户表下面名字为张三的从第二条开始的后两条文档且只需按时姓名、性别、居住地址、创建时间信息并按创建时间倒叙显示

 

## find({$where : “this.name == ‘a'”})

## where复杂查询

## 查询非空字段

## 分页查询

注:condition 查询条件、pageTotal为每页显示条数、pageNum为分页数量、cb为回调函数

## 模糊查询

# findById()

与 Model.find 相同,但它接收文档的 _id 作为参数,返回单个文档。_id 可以是字符串或 ObjectId 对象。

# findOne()

与 Model.find 相同,但只返回符合条件的第一个文档