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. 事件绑定addEventListener

    通过addEventListener监听函数实现的dom事件绑定 addEventListener可以为当前dom添加一个事件(这个事件可以是个已有的事件),这就无法避免我们在写代码的时候重复去绑定同 ...

  2. hexo next主题深度优化(八),微加速

    个人博客:https://mmmmmm.me 源码:https://github.com/dataiyangu/dataiyangu.github.io 通过不断地上网查资料,引用的js.css.图片 ...

  3. 关于idea中,web项目启动tomcat,访问资源报错404

    背景: web项目启动tomcat,访问相应的资源,报错404,前提资源路径是没错的. 原因: 1.确定是不是web项目 不是的话: 配置web-inf的路径和webroot(web根目录)的路径 2 ...

  4. centos安装完php-fpm、nginx后访问网站出现权限问题

    nginx.conf www.conf 这两个文件上面改用户为www. 如果不知道自己的配置文件位置问题,使用命令查找文件位置: find / -name 'nginx.conf' -print 添加 ...

  5. 往github上上传项目

    点击start a project 新建 下面部分传送http://blog.csdn.net/s740556472/article/details/55000019 如图: 这里我们有一个步骤需要做 ...

  6. C++之关键字&标识符命名规则

    关键字 **作用:**关键字是C++中预先保留的单词(标识符) * **在定义变量或者常量时候,不要用关键字** C++关键字如下: 提示:在给变量或者常量起名称时候,不要用C++得关键字,否则会产生 ...

  7. POJ 1265 /// 皮克定理+多边形边上整点数+多边形面积

    题目大意: 默认从零点开始 给定n次x y上的移动距离 组成一个n边形(可能为凹多边形) 输出其 内部整点数 边上整点数 面积 皮克定理 多边形面积s = 其内部整点in + 其边上整点li / 2 ...

  8. linux安装openoffice,并解决中文乱码

    1.安装openoffice 官网http://www.openoffice.org/zh-cn/download/下载 2.解压并进入文件夹: cd /zh-cn/RPMS yum localins ...

  9. 数据库MySQL--连接查询

    例子文件1:https://files.cnblogs.com/files/Vera-y/myemployees.zip 例子文件2:https://files-cdn.cnblogs.com/fil ...

  10. hdu6089 Rikka with Terrorist

    题意:n*m的平面内有K个不安全点,Q个询问位置在(x,y)的人能走到多少个点?走到:(x,y)和(x',y')之间的矩形中不包含不安全点. 标程: #include<bits/stdc++.h ...