MongoDB常用命令整理

find 查询条件

官方文档

操作符 含义 式例
$ lt < db.user.find({“age”:{“$ lt”:18}})
$ lte <= db.user.find({“age”:{“$ lte “:18}})
$ gt > db.user.find({“age”:{“$ gt “:18}})
$ gte >= db.user.find({“age”:{“$ gte”:18}})
$ eq = db.user.find({“age”:{“$ eq”:18}})
$ ne != db.user.find({“age”:{“$ ne”:18}})
$ in in db.user.find({“age”:{“$ in”:18}})
$ nin not in db.user.find({“age”:{“$ nin”:18}})

$slice

官方文档

操作符 含义 式例
$slice 控制查询返回的数组的项数 db.user.find( {}, { comments: { $slice: [ 20, 10 ] } } )

聚合

aggregate

处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。有点类似sql语句中的 count(*)
官方文档

project

MongoDB的聚合管道将MongoDB文档在一个管道处理完毕后将结果传递给下一个管道处理。管道操作是可以重复的
修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档
官方文档

unwind

将文档中的某一个数组类型字段拆分成多条,每条包含数组中的一个值。
官方文档

filter

根据指定的条件选择一个数组的子集。返回仅包含与条件匹配的元素的数组。返回的元素按原始顺序排列。
官方文档

cond

计算布尔表达式以返回两个指定的返回表达式中的一个
官方文档

lookup

执行左连接到一个集合(unsharded),必须在同一数据库中

{
           $lookup:
             {
               from: <collection to join>,
               localField: <field from the input documents>,
               foreignField: <field from the documents of the "from" collection>,
               as: <output array field>
             }
        }
操作符 含义
from 右集合,指定在同一数据库中执行连接的集合。此集合不能shared分片
localField 指定左集合(db.collectionname)匹配的字段。如果左集合不包含localField,$lookup 视为null值来匹配。
foreignField 指定from集合(右集合)用来匹配的字段。如果集合不包含该字段,$lookup 视为null值来匹配。
as 指定要添加到输入文档的新数组字段的名称。新的数组字段包含from集合中匹配的文档。如果在文档中指定的名称已经存在,现有的领域覆盖。

官方文档

addFields

官方文档
将新字段添加到文档

map

表达式应用于数组中的每个项目并返回一个包含应用结果的数组。
官方文档

setIntersection

接受两个或更多数组并返回一个包含出现在每个输入数组中的元素的数组
官方文档

size

计数并返回数组中项目的总数。
官方文档

mergeObjects

将多个文档合并为一个文档
官方文档

divide

将一个数字除以另一个数字并返回结果。将参数传递给数组中的$ divide。
官方文档

multiply

将数字相乘并返回结果。将参数传递给数组中的$ multiply。
官方文档

查看集合主键盘

db.users.getIndexes()

猜你喜欢

转载自blog.csdn.net/qq_27623521/article/details/80333059