MongDB 4.0 入门学习之运算符

基本语法:db.collection.find({<key>:{$symbol:<value>}})

条件查询匹配运算符

符号 描述 范例 js释义
$eq 等于 {qty:{$eq:2}} or {qty:2} qty===2
$gt 大于 {qty:{$gt:2}} qty>2
$gte 大于或等于 {qty:{$gte:2}} qty>=2
$lt 小于 {qty:{$lt:2}} qty<2
$lte 小于或等于 {qty:{$lte:2}} qty<=2
$ne 不等于 {qty:{$ne:2}} qty!=2
$in 查询等于指定数组中任何值的数据 {qty:{$in:[5,2,3]}} qty===5 || qty===2 || qty===3
$nin 查询不等于指定数组中任何值数据 {qty:{$nin:[5,2,3]}} qty!=5 || qty!=2 || qty!=3

逻辑运算符

  • $and 逻辑且

    • 语法: {$and:[{<expression1>}, {<expression2>}, ... ,{<expressionN>}]}
    • 范例: {$and:[{qty:{$ne:2}},{"name":{$eq:"测试"}}]}
    • 范例js释义: qty!=2 && "name"==="测试"
  • $not 逻辑非
    • 语法: {<key>:{$not:{<operator-expression>}}}
    • 范例: {price:{$not:{$gt:1.99}}}
    • 范例js释义: !(price>1.99)
  • $nor 逻辑非或
    • 语法: {$nor:[{<expression1>}, {<expression2>}, ...,{<expressionN>}]}
    • 范例: {$nor:[{price:1.99}, {sale:true}]}
    • 范例js释义: !(price===1.99||sale===true)
  • $or 逻辑或
    • 语法: {$or:[{<expression1>}, {<expression2>}, ...,{<expressionN>}]}
    • 范例: {$or:[qty:{$lt:20}}, {price:10}]}
    • 范例js释义: qty<20 || price===10

检测运算符

  • $exists 查询值是否存在

    • 语法: {<key>:{$exists:<boolean>}}
    • 范例: {qty:{$exists:true, $nin:[ 5, 15 ]}}
    • 范例js释义: qty && (qty!=5 || qty!=15)
  • $type 检测值的类型
    • 语法: {<key>:{$type:<BSON type>}}
    • 范例: {"zipCode":{$type:2}}} or {"zipCode":{$type:"string"}}}
    • 范例js释义: typeof "zipCode" === "string"
    • 数据类型请自行到官网文档查询 MongoDB Operator $type

MongDB4.0-入门学习之运算符的更多相关文章

  1. Json.Net6.0入门学习试水篇

    原文:Json.Net6.0入门学习试水篇 前言 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.简单地说,JSON 可以将 JavaScript 对象中 ...

  2. Bootstrap3.0入门学习系列

    Bootstrap3.0入门学习系列规划[持续更新]   前言 首先在此多谢博友们在前几篇博文当中给与的支持和鼓励,以及在回复中提出的问题.意见和看法. 在此先声明一下,之前在下小菜所有的随笔文章中, ...

  3. Bootstrap3.0入门学习系列教程

    可视化布局:http://www.runoob.com/try/bootstrap/layoutit/ 1.浏览器兼容性:你可以去看看大牛的一篇文章http://www.cnblogs.com/lhb ...

  4. 【数据售卖平台】—— Vue2.0入门学习项目爬坑

    前言:这个项目是我从零学习Vue2.0时用于练习基础知识的入门项目,包含了Vue2.0几乎所有项目都会用到的基础功能,是新手用来练手的好项目,这里温故知新对功能点做一个总结.github地址:http ...

  5. php之快速入门学习-7(运算符)

    PHP 运算符 本章节我们将讨论 PHP 中不同运算符的应用. 在 PHP 中,赋值运算符 = 用于给变量赋值. 在 PHP 中,算术运算符 + 用于把值加在一起. PHP 算术运算符 运算符 名称 ...

  6. ElasticSearch7.10.0入门学习

    ElasticSearch完成最关键的一个功能就是 大数据搜索 官网:https://www.elastic.co/cn/elasticsearch/ 简介 Elasticsearch 是一个分布式全 ...

  7. Bootstrap3.0入门学习系列规划[持续更新]

    详情请看http://aehyok.com/Blog/Detail/5.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文文章链接:http ...

  8. Protege5.0.0入门学习

    OWL本体的重要组成部分 Individuals:个体,代表一个领域里面的对象.可以理解成一个类的实例(instances of classes). Properties:属性,是两个个体之间的双重联 ...

  9. 《VC++ 6简明教程》即VC++ 6.0入门精讲 学习进度及笔记

    VC++6.0入门→精讲 2013.06.09,目前,每一章的“自测题”和“小结”三个板块还没有看(备注:第一章的“实验”已经看完). 2013.06.16 第三章的“实验”.“自测题”.“小结”和“ ...

随机推荐

  1. Java习题10.25

    Java习题10.25 1. 实际上这道题考查的是两同两小一大原则: 方法名相同,参数类型相同 子类返回类型小于等于父类方法返回类型, 子类抛出异常小于等于父类方法抛出异常, 子类访问权限大于等于父类 ...

  2. jdk linux配置

    用文本编辑器打开/etc/profile 在profile文件末尾加入: export JAVA_HOME=/usr/share/jdk1.6.0_14 export PATH=$JAVA_HOME/ ...

  3. linux下df查看空间已经占用%100,但是找不到大文件的解决方法

    有时候在linux下会遇到这种情况:df查看空间已经占用%100,但是找不到大文件,怎么回事呢,经过网上查找资料,得到解决方法: 1.使用lsof查看已删除但未释放的文件 lsof -n | grep ...

  4. Git 学习(一)安装 Git

    这里写自定义目录标题 这一章介绍怎么安装 Git 大家都是开发老司机,就不简介什么是 Git 了,直接开花. 在 Linux 上安装Git 在 Windows 上安装 Git 初次使用 Git 前的配 ...

  5. 文本数据和mysql 里面的数据比较

    实现读取TXT文件中的内容然后存到内存,然后将内存中的数据和mysql 数据库里面某张表数据的字段做一个比较,如果比较内存中的数据在mysql 里存在则不做处理,如果不存在则将该数据插入mysql数据 ...

  6. 【POJ】3278 Catch That Cow

    题目链接:http://poj.org/problem?id=3278 题意:有一头奶牛跑到了K的位置,农夫在N的位置,求最短抓到奶牛的时间. 农夫有两种移动方式. 1.步行:一分钟内从x->x ...

  7. 【校OJ】选网线

    暑假学校OJ上的题目. 一道很有意思的二分. 题意:三个数组,每个数组各选一个数出来看是否能组成目标数. 题解:前两个数组两两的和组合一下,二分第三个数组,找是否能组成目标数. 代码: #includ ...

  8. 使用idea从svn检出项目

    1.创建空的工程 2. 3. 编辑项目进行提交svn服务器进行自动整合

  9. SpringMVC常用注解知识总结

    1.@Controller 注解到类名上,表示该类是控制器. 2.@RequestMapping("/xxxx") 可以放在类名/方法名之上,表示访问请求该方法时的url.如果该方 ...

  10. 【学术篇】SDOI2010 古代猪文

    这里可能包含传送门 又双叒叕数论大杂烩... 定理什么我都不会证 题目很长很啰嗦 但是题意很显然... 化完式子之后就是这么个东东:\(G^{\sum_{k|n}C_k^{\frac{n}{k}}}\ ...