MongoDB中使用find来进行查询,查询就是返回一个集合中文档的子集,子集合的范围从0个文档到整个集合。find的第一个参数决定了要返回哪些文档。空的查询文档{}会匹配集合的全部内容,要是不指定查询文档,默认就是{}。

MongoDB查询使用上还是有些限制的,数据库所关系的查询文档的值必须是常量,也就是不能引用文档中其它键的值。

查询条件 "$lt"、"$lte"、"$gt"、"$gte"、"$ne"就是全部的比较操作符,分别对应<、<=、>和>=与"不相等";

"$in" 用来查询键值在某个范围内值   "$nin" 用来查询键值不在某个范围内的值

"$or" 接受一个包含所有可能条件的数组作为参数

"$mod" 取模运算符,会将查询的值除以第一个给定值,若余数等于第二个给定值则返回该结果

"$not" 查询与特定模式不符的文档

一个键可以有多个条件,但一个键不能对应多个更新修改器

null不仅仅匹配自身而且匹配“不存在的”,这种匹配还会返回缺少这个键的所有文档

如果仅仅想要匹配键值为null的文档,既要检查该键的值是否为null,还要通过“$exists”条件判断键值是否存在

MongoDB使用Perl兼容的正则表达式(PCRE)库来匹配正则表达式,PCRE支持的正则表达式语法都能被MongoDB接受,在使用正则表达式前,可以现在JavaScrip shell中检查一下语法

如果需要通过多个元素来匹配数组,就要使用"$all"

“$size”可以用其查询指定长度的数组

“$slice”返回数组的一个子集合,可以接受偏移值和要返回的元素的数量,除非特别声明,否则返回文档中的所有键

查询内嵌文档有两种方法:查询这个文档,或只针对其键/值对进行查询

查询整个文档要求结构与原数据完全匹配(包括顺序一样)

"$elemMatch"将限定条件进行分组,仅当对一个内嵌文档的多个键操作时才会用到,结果返回满足条件的所有文档

"$where"可以执行任意JavaScript作为查询的一部分,是的查询几乎能做任何事情,但是不是必要时要避免使用"$where"查询,因为它在速度上要比常规查询慢很多,每个文档都要从BSON转为JavaScript对象,然后通过"$where"的表达式来运行,同样还不能使用索引

MongoDB学习笔记02的更多相关文章

  1. MongoDB学习笔记—02 MongoDB入门

    Mongodb的基本概念 文档:是MongoDB中数据的基本单元,类似于关系型数据库中的行. 集合:多个文档组成一个集合,类似于关系型数据库中的表. 数据库:MongoDB的当个实例可以容纳多个独立的 ...

  2. mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

    最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网: ...

  3. Redis:学习笔记-02

    Redis:学习笔记-02 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 4. 事物 Redis 事务本 ...

  4. MongoDB学习笔记系列

    回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...

  5. 软件测试之loadrunner学习笔记-02集合点

    loadrunner学习笔记-02集合点 集合点函数可以帮助我们生成有效可控的并发操作.虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但是由于计算机的串行处理机制,脚本的运行 ...

  6. PHP操作MongoDB学习笔记

    <?php/*** PHP操作MongoDB学习笔记*///*************************//**   连接MongoDB数据库  **////*************** ...

  7. MongoDB 学习笔记(原创)

    MongoDB 学习笔记 mongodb 数据库 nosql 一.数据库的基本概念及操作 SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table ...

  8. MongoDB学习笔记(转)

    MongoDB学习笔记(一) MongoDB介绍及安装MongoDB学习笔记(二) 通过samus驱动实现基本数据操作MongoDB学习笔记(三) 在MVC模式下通过Jqgrid表格操作MongoDB ...

  9. 机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN)

    机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN) 关键字:邻近算法(kNN: k Nearest Neighbors).python.源 ...

随机推荐

  1. MS-SQL数据库备份方法

    一.手动备份 打开企业管理器 --> 右键点击需要备份的数据库 --> 所有任务 --> 备份数据库 或者: 查询分析器: use master  backup database 数 ...

  2. 安卓状态栏通知Status Bar Notification

    安卓系统通知用户三种方式: 1.Toast Notification 2.Dialog Notification 3.Status Bar Notification Status Bar Notifi ...

  3. [转]Sql Server 2005中的架构(Schema)、用户(User)、登录(Login)和角色(Role)

    每一个概念的产生必然是因为碰到了无法解决的问题.换句话说,如果没有它,必然会导致某些问题难以解决.所以我想从这个角度切入,希望能把这几个复杂而暧昧的多角关系从最实用的角度来阐述清楚. 在问题的最初,我 ...

  4. hdu1406

    一道很水很水的题!!!!!!!!!! #include<iostream> using namespace std; int main(){ int num1,num2,i,k,j,sum ...

  5. JAVA GUI 工具

    Java GUI图形界面开发工具   上大学那会儿比较主流的Java图形开发插件是:Visual Editor 和 SWT Designer, 不久又出了个Jigloo, 但去官网看了下发现这个东西也 ...

  6. xml解析,练习

    <collection shelf="New Arrivals"><movie title="Enemy Behind">   < ...

  7. Hadoop1.2.1伪分布模式安装指南

    一.前置条件 1.操作系统准备 (1)Linux可以用作开发平台及产品平台. (2)win32只可用作开发平台,且需要cygwin的支持. 2.安装jdk 1.6或以上 3.安装ssh,并配置免密码登 ...

  8. ORACLE 数据库概述

    1,发展史: 1978年,Orcale诞生 1982年,Orcale3推出了,它是第一个能够运行在大型机和小型机上的关系型数据库 1997年,Orcale公司推出了基于java语言的Orcale8,并 ...

  9. JS对象排序

    function createComparisonFunction(propertyName) {return function(object1, object2){var value1 = obje ...

  10. ubuntu下安装postgres

    PostgreSQL 是一款强大的,开源的,对象关系型数据库系统.它支持所有的主流操作系统,包括 Linux.Unix(AIX.BSD.HP-UX,SGI IRIX.Mac OS.Solaris.Tr ...