zoukankan      html  css  js  c++  java
  • MongoDB学习笔记02

    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"的表达式来运行,同样还不能使用索引

  • 相关阅读:
    一分钟制作U盘版BT3
    微软历史最高市值是多少?
    Windows 7系统安装MySQL5.5.21图解
    cocos2d-x3.0 Physics新的物理引擎
    java使用javamail读取邮箱(收件箱为例)
    Java实现第九届蓝桥杯字母阵列
    Java实现第九届蓝桥杯字母阵列
    Java实现第九届蓝桥杯字母阵列
    Java实现第九届蓝桥杯猴子分香蕉
    Java实现第九届蓝桥杯猴子分香蕉
  • 原文地址:https://www.cnblogs.com/goodlucklzq/p/4328751.html
Copyright © 2011-2022 走看看