mongo二2018-06-29

MongoDB基础语法——查询数据

基本查询

find([{文档条件}]):全集合查询

findOne([{文档条件}]):查询第一个

pretty():将查询结果格式化展示

比较运算符(关系运算符)

默认判断,无运算符

$lt:little~小于 <  less than

$lte:little or equals~小于等于 <=

$gt:granter~大于 >

$gte:granter or equals~大于等于 >=


eg:db.dept.find().prettty()    将查询结果格式化展示

        db.emp.find({age:{$gt:30}})    查询年龄大于30的

        db.emp.find({name:'zhangsan',age:18})    两个条件是和的关系,都要满足才可查到(与)




逻辑运算符

逻辑与:并且运算,默认操作,无运算符

逻辑或:或者运算,$or    (注意:or后面带中括号)

eg:db.emp.find({$or:[{age:{gt:30}},{name:'laowang'}]})


范围运算符

$in:判断指定条件是否包含在某个范围内

$nin:判断指定条件是否不包含在某个范围内

eg:db.emp.find({age:{in[18,20]}})    年龄为18或者20都选择

正则条件

/reg/:普通正则表达式

$regex:指定正则表达式

eg:db.emp.find({gender:/^n/})    性别以n开头的所有被选择

        db.emp.find({name:/u$/})    名字以u结尾的所有被选择

        db.emp.find({name:{$regex:'u$'}})    名字以u结尾的所有被选择



自定义条件

$where:通过函数自定义条件[JS函数]

指定函数中,返回boolean类型的值

this表示每个要查询的文档

eg:db.emp.find({$where:function() {return this.age>=30}})



数据查询——限制查询条数:<find>.limit(count)

数据查询——跳过记录行数:<find>.skip(num)

数据查询——投影:查询指定的域:find({}, {投影字段:1/0})

eg:db.emp.find().limit(2)    查询2条

        db.emp.find().skip(2).limit(2)    跳过2条之后,查2条

        db.find().({},{name:1})    显示名字和id(第一个{}表示显示所有,第二个表示显示所有name)

db.emp.find({},{name:1,_id:0})    等于1显示,等于0则不显示


数据查询——排序

<find>.sort({字段:1/-1, ...})

eg:db.emp.find().sort({age:1})    按年龄升序排列

        db.emp.find().sort({age:1,name:-1})    先按年龄升序排列,相同年龄的再按名字排列


数据查询——统计

<find>.count()

<find({条件})>.count()

db.<集合名称>.count({条件})

eg:db.emp.count()    统计所有

        db.emp.find().count()    统计所有

        db.emp.count({age:{$gt:20}})    统计年龄大于20的所有(无find,条件写count里面)

        db.emp.find({age:{$gt:20}}).count()    统计年龄大于20的所有(有find,则条件写find里面)

        db.emp.find().count({age:{$gt:20}})    有find,把条件写count里面,则统计所有


数据查询——去重

db.<集合名称>.distinct(“去重域名称”, {条件})

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,252评论 2 89
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,353评论 18 399
  • 一叶扁舟江上, 二童嬉戏在旁。 ...
    夏日漫长阅读 187评论 0 0
  • 黄庭坚大师云:凡欲作书,先端坐静思,随意所适,言不出口,气不盈息,沉密寡默,如对至尊,则无不美也。褚河南印印泥,张...
    独钓云烟阅读 862评论 2 8
  • ――《麦田里的守望者》观感 “你只要说些谁也听不懂的话,他们就会俯首听命,要他们干什么他们就干什么”自...
    Fwx烟雨倾城阅读 649评论 2 7

友情链接更多精彩内容