db.集合名称.find([查询条件],[查询的字段])

  • 查询条件是JSON格式的数据
    省略表示查询该集合当中的全部数据
  • 查询的字段也是用JSON格式表示 ,字段值是非零表示包含该字段 , 0则表示排除该字段 ( 但两种方式不能同时用 ) 比如 {x : 1} 表示只查询主键_id和字段x的内容
    主键_id是默认被包含的 , 如果要排除可以写 { _id : 0 }

    db.集合名称.findOne() 表示只返回查询结果的第一条数据

    模糊查询条件

    直接使用普通的json是作为精确条件
    也可以使用某个范围作为模糊条件
    例如
    {age:{$gt:22}}
    是查找age字段大于22的数据
    ( 也可以应用于字符串 )
操作符 含义
$gt 大于
$lt 小于
$gte 大于等于
$lte 小于等于

字符串的模糊匹配使用类似JavaScript当中正则表达式的方式
比如/mongodb/表示包含”mongodb”子串
相当于 ...where xx like '%mongodb%'
/^mongodb/表示以”mongodb”开头

逻辑运算符

  • 逻辑与 $and: 一个json中写的多个键值对本身就表示and
    也可以用{$and:[{a:1},{b:2}]}表示... where a=1 and b=2
  • 逻辑或 $or: {$or:[{a:1},{b:2}]}
    表示 ... where a=1 or b=2
  • 某个字段 存在/不存在 $exists : {a:{$exists:true}}表示存在a字段的数据

    对查询结果的处理

    以下都是在db.集合名称.find(查询条件)获得的查询结果的基础上执行的函数

结果计数
.count()
对查询结果执行count函数 , 可以统计查询结果的数量

分页查询
.skip(num).limit(num)
skip表示跳过前面的若干条数据 , limit是返回数据的最大数量

结果排序
.sort(排序条件)
排序条件是json的形式 { 字段名 : 1 } 或者 { 字段名 : -1 }
前者表示升序 , 后者表示降序 , 不能用其他的数字