美文网首页
mongo二2018-06-29

mongo二2018-06-29

作者: 清清子衿木子水心 | 来源:发表于2018-06-28 22:15 被阅读0次

    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(“去重域名称”, {条件})

    相关文章

      网友评论

          本文标题:mongo二2018-06-29

          本文链接:https://www.haomeiwen.com/subject/osonyftx.html