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-Class-@I:org.springframework.web.bind.annotation.RequestBody

    ylbtech-Java-Class-@I:org.springframework.web.bind.annotation.RequestBody 1.返回顶部   2.返回顶部 1. package ...

  2. (转)Pycharm用鼠标滚轮控制字体大小

    转自: Pycharm用鼠标滚轮控制字体大小 - 暗黒骑士 - 博客园 https://www.cnblogs.com/fyknight/p/6937482.html ---------------- ...

  3. scala实现读取Oracle数据

    用scala实现读取oracle数据 增加oralce的jar包后 package cn.bigdata.scala.oracle import java.sql.{DriverManager, Co ...

  4. ubuntu 删除 mysql (转)

    1 sudo apt-get autoremove --purge mysql-server-5.0 2 sudo apt-get remove mysql-server 3 sudo apt-get ...

  5. 如何提高阿里云cdn命中率?原命中率极低。

    博客搬迁了,给你带来的不便,敬请谅解! http://www.suanliutudousi.com/2017/08/29/%E5%A6%82%E4%BD%95%E6%8F%90%E9%AB%98%E9 ...

  6. 【收集+】DDR5 vs DDR4

    Advantages of Migrating to DDR5 DDR5 is the next evolution in DRAM, bringing a robust list of new fe ...

  7. OC开发系列-@property和@synthesize

    property和synthesize 创建一个Person类.提供成员属性的_age和_height的setter和getter方法. #import <Foundation/Foundati ...

  8. promise 获取文件内容

    文件结构图 { "next":"b.json", "msg":"this is a" } a.json { " ...

  9. Jupyter NoteBook输出的图表太小看不清怎么办?

    如果使用的是matplotlib绘图,可以通过以下命令更改图片的大小: %matplotlib linline 如果是 plt.figure(figsize=(5,3)) #其中(5, 3)用于控制图 ...

  10. Windows dir

    显示目录中的文件和子目录列表. DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]  [/O[[:]so ...