MongoDB干货篇之查询数据

  • 时间:
  • 浏览:0

$or

其中 query 表示查找的条件,大慨 mysql 中 where 子句, projection 列出你我让你查找的数据,格式为 db.collection.find(find(<query filter>, <projection>))

执行逻辑 OR 运算,指定有有有一个 大慨包蕴暗暗含一个 表达式的数组,选用出大慨满足数组中一条表达式的文档。

语法: { $or: [ { <expression1> }, { <expression2> }, ... , { <expressionN> } ] }

匹配键不位于随后键值不等于指定数组的任意值的文档。这类于 sql 中 not in (SQL中字段不位于使用会有语法错误).

下面介绍指定有有有一个 数组作为参数。数组参数使用 [ skip , limit ] 格式,其中第有有有一个 值表示在数组中跳过的项目数,第十个 值表示返回的项目数。

查询年龄不大于500的信息

本文作者:Chenjiabing

实例:

下面将输出后十个 数据

下面查询年龄在 20-500 之间的信息

下面将要查找 age 等于 22 随后 age 等于 33 的值

下面随后查找grades中位于22,33之间的任意有有有一个 数的信息

下面找出满足 name 为 jack 的数据,或者只输出 name , age ,这里的 _id 是默认输出的,随后我让你输出将将它设置为 0 ,我让你输出那个字段将它设置为1

匹配键值等于指定数组中任意值的文档。这类于 sql 中 in ,假如匹配有有有一个 value 就会输出

**注意这里的有有有一个 projection 不到 同时 指定包括和排除字段,除了排除 _id 字段。 在 显式包括 字段的映射中, _id 字段是唯有有有一个 您并能 显式排除 的。

find( , )

$exists

语法: { field: { $in: [<value1>, <value2>, ... <valueN> ] } }

语法: { $and: [ { <expression1> }, { <expression2> } , ... , { <expressionN> } ] }

查询出 grades 中不位于5000随后44的文档

$not

$in

并能 通过键值对查询,我不要 考虑顺序,比如 'school.name':'shida' ,表示查询学校名字为shida 的数据,这里的引号是还要要的

语法: db.collection.find( { field: value }, { array: {$slice: count }}) ;

$ne

完正匹配查询

下面一些人儿儿将配合查询操作符来执行比较复杂的查询操作,比如元素查询、 逻辑查询 、比较查询操作。一些人儿儿使用下面的比较操作符 "$gt" 、 "$gte" 、 "$lt" 、 "$lte" (分别对应 ">" 、 ">=" 、 "<" 、 "<=" )

随后 $exists 的值为 true ,选用位于该字段的文档,若值为 false 则选用不暗含该字段的文档

上述例子中插入的 school 数据就表示内嵌文档

来源:51CTO

下面将查询 grades 中的前有有有一个 数

实例

执行逻辑 NOT 运算,选用出不到匹配表达式的文档 ,包括那末指定键的文档。 $not 操作符不到独立使用,还要跟一些操作同时使用

指定有有有一个 大慨包蕴暗暗含一个 表达式的数组,选用出满足该数组中所有表达式的文档。 $and 操作符使用短路操作,若第有有有一个 表达式的值为“ false ”,余下的表达式将我不要 执行。

下面随后查找出年龄为22随后33或者姓名为 jack 的人的信息

下面不带参数的查找,随后查找出所有的结果

$and

下面随后查找年龄在 20-500 之间的信息,对于下面使用逗号分隔符的表达式列表, MongoDB会提供有有有一个 隐式的 $and 操作:

查询操作符

语法:{ field: { $not: { } } }

slice

查询内嵌文档

$slice 操作符控制查询返回的数组中元素的个数。此操作符根据参数 { field: value } 指定键名和键值选用出文档集合,或者该文档集合中指定 array 键将返回从指定数量的元素。随后 count 的值大于数组中元素的数量,该查询返回数组中的所有元素的。

键值对查询

$ne 表示不相等,这类于查询年龄不等于 22 岁的信息

在结速了了随后一些人儿儿应该先准备数据方便演示,这里我插入的了有几个数据,数据如下:

$nin

下面随后查询不位于sex这名项的信息

完正匹配查询表示 school 中的查询数组还要和插入的数组完正一样,顺序都还要一样并能查找出来