①比较运算符:

  等于:默认是等于判断,没有运算符

  小于:$lt(less than)

  小于等于:$lte(less than equal)

  大于:$gt(greater than)

  大于等于:$gte(greater than equal)

  不等于:$ne(not equal)

  db.stu.find({age:{$gte:18}})

②逻辑运算符:

  and:在json中写多个条件即可,查询年龄大于或等于18,并且性别为true的学生

  db.stu.find({age:{$gte:18},gender:true})

  or:使用$or,值为数组,数组中每个元素为json,查询年龄大于18,性别为false的学生

  db.stu.find({$or:[{age:{$gt:18},{gender:flase}}]})

  查询年龄大于18或性别为男生,并且姓名是郭靖

  db.stu.find({$or:[{age:{$gte:18},{gender:true}}],name:"gj"})

③范围运算符:

  使用“$in”,"$nin"判断是否在某个范围内,查询年龄为18,28的学生

  db.stu.find({age:{$in:[18,28]}})

④支持正则表达式

  使用//或regex编写正则表达式,查询姓黄的学生

  db.stu.find({name:/^黄/})

  db.stu.find({name:{$regex:"^黄"}})

⑤limit和skip

方法limit():用于读取指定数量的文档

  db.集合名称.find().limit(number)

  //查询2条学生信息  db.stu.find().limit(2)

方法skip():用于跳过指定数量的文档

  db.集合名称.find().skip(number)

  //db.stu.find().skip(2)

同时使用db.stu.find().limit(4).skip(5)或db.stu.find().skip(5).limit(4)

⑥自定义查询:

  使用$where后面写一个函数,返回满足条件的数据

  查询年龄大于30的学生

//db.stu.find(){

  $where:function(){

return this.age>30;

}

 }

⑦投影:

  在查询到的返回结果中,只选择必要的字段db.集合名称.find({},{字段名称:1...})

  参数为字段值,值为1表示显示,值为0不显

  特殊:对于_id列默认是显示的,如果不显示需要明确设置为0

⑧排序:

  方法sort(),用于对集合进行排序

  db.集合名称.find().sort({字段:1....})

  参数为1为升序排列

  参数为-1为降序排列

  根据性别降序,在根据年龄升序  db.stu.find().sort({gender:-1,age:1})

⑨统计个数

  方法count()用于统计结果集中文档条数

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

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

  

  db.stu.find({gender:true}).count()

  db.stu.count({age:{$gt:20},gender:true}

⑩消除重复

  方法distinct()对数据进行去重

  db.集合名称。distinct("去重字段",{条件})

  db.stu.distinct(“hometown,{age:{$gt:18}}”)

mongodb的几种运算符的更多相关文章

  1. Java开发笔记(十四)几种运算符的优先级顺序

    到目前为止,我们已经学习了Java语言的好几种运算符,包括算术运算符.赋值运算符.逻辑运算符.关系运算符等基础运算符,并且在书写赋值语句时都没添加圆括号,显然是默认了先完成算术.逻辑.关系等运算,最后 ...

  2. mongodb的几种启动方法

    1 mongodb的几种启动方法   启动Mongodb服务有两种方式,前台启动或者Daemon方式启动,前者启动会需要保持当前Session不能被关闭,后者可以作为系统的fork进程执行,下文中的p ...

  3. 在python中有多少种运算符?解释一下算术运算符

    在python中,我们有7种运算符:算术运算符.关系运算符.赋值运算符.逻辑运算符.位运算符.成员运算符.身份运算符 我们有7个算术运算符,能让我们对数值进行算术计算 1.加号(+),将两个值相加 2 ...

  4. [转载]-win7启动本地MongoDB的四种方式

    2016年04月07日 09:52:34 cherry__cheng 阅读数:19451 标签: win7启动本地MongoDB的四种方式快速启动本地mongodb 更多 个人分类: mongodb& ...

  5. Python的6种运算符(日记)

    学习了许久的Python,我单独总结出了Python中比较常见的6种运算符,感觉略有不全,希望大伙可以一起讨论与研究Python! 一.算术运算符 加 减 - 乘 * 除 / 取余 % 取整 // 异 ...

  6. MongoDB中4种日志的详细介绍

    前言 任何一种数据库都有各种各样的日志,MongoDB也不例外.MongoDB中有4种日志,分别是系统日志.Journal日志.oplog主从日志.慢查询日志等.这些日志记录着MongoDB数据库不同 ...

  7. Spring系列之集成MongoDB的2种方法

    MongoDB是最流行的NoSQL数据库,SpringBoot是使用Spring的最佳实践.今天带大家讲一讲SpringBoot集成MongoDB的两种方式,MongoDB的安装自行去官网查询,本地开 ...

  8. java中使用mongodb的几种方式

    最近有时间看了一下mongodb,因为mongodb更容易扩展所以考虑使用mongodb来保存数据. 首先下载安装mongodb,这是很简单的,装好后使用mongod命令就可以启动数据库.正式部署的话 ...

  9. linux下登陆MongoDB的两种方式

    第一种:不带auth认证的 第二种:需要带auth认证的(即需要用户名和密码的) 当指定用户名和密码在查看数据,发现就可以看得到了 查看文章:开启MongoDB客户端访问控制

随机推荐

  1. SpringBoot参数注解

    1.@RequestParam有无区别 1.1 @GetMapping("/name/id")public Result managerNameIsRepeat(@RequestP ...

  2. MySQL存储过程中的事务执行失败之后获取错误信息

    1.表结构: 2. 存储过程中: 代码如下: BEGINDECLARE CONTINUE HANDLER FOR SQLEXCEPTIONBEGINROLLBACK;GET DIAGNOSTICS C ...

  3. 主席树——求区间第k个不同的数字(向右密集hdu5919)

    和向左密集比起来向右密集只需要进行小小的额修改,就是更新的时候从右往左更新.. 自己写的被卡死时间.不知道怎么回事,和网上博客的没啥区别.. /* 给定一个n个数的序列a 每次询问区间[l,r],求出 ...

  4. [转]Go里面的unsafe包详解

    Golang的unsafe包是一个很特殊的包. 为什么这样说呢? 本文将详细解释. 来自go语言官方文档的警告 unsafe包的文档是这么说的: 导入unsafe的软件包可能不可移植,并且不受Go 1 ...

  5. eclipse如何更换工作空间

    关于工作空间的更换,小生也操作较少,今天做个记录并分享给大家. 1.找到文件——更换工作空间——其他 2.选择自己要更换的工作空间点击确定即可.

  6. Javascript数据结构与算法--栈的实现与用法

    栈数据结构 栈是一种遵从后进先出(LIFO)原则的有序集合.新添加的或者待删除的元素都保存在栈的同一端,称作栈顶,另一端就叫栈底.在栈里,新元素都靠近栈顶,旧元素都接近栈底. 我们在生活中常能看到栈的 ...

  7. Python2.7和3.7区别

    区别一:print语法使用 Python2.7   print语法使用   >>> print "Hello Python" Python3.7   print语 ...

  8. Linux文件名匹配和输出重定向--2019-4-24

    1.文件名匹配 例:rm *.bak;   删除结尾是.bak的文件 rm *4*.bak; 删除名称中有“4”的.bak文件 ls *.????; 查找结尾是“.”后有四个字母的文件 2.管道 先进 ...

  9. angular之表达式

    1.作用:使用表达式把数据绑定到HTML. 2.语法:表达式写在双打括号内:{{expression}} 3.比较:表达式作用类似于ng-bind指令:建议更多的使用指令. 4.AngularJS表达 ...

  10. redis与memacache的区别(转)

    redis和memecache的不同在于:1.存储方式:memecache 把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小redis有部份存在硬盘上,这样能保证数据的持久性.2.数据支持类 ...