MongoDB基本聚合函数使用

2023-04-14 15:43:31 浏览数 (1)

$match

$match是MongoDB聚合函数中最常见的函数之一。它允许用户根据指定的条件过滤文档。例如,如果我们有一个存储员工信息的集合,并且想要查找所有工资大于5000的员工,可以使用以下命令:

代码语言:javascript复制
db.employees.aggregate([
   { $match : { salary : { $gt : 5000 } } }
])

$group

$group是另一个常用的聚合函数。它允许用户根据指定的字段对文档进行分组,并计算每个组的统计信息。例如,如果我们有一个存储销售信息的集合,并且想要按照销售员对销售额进行分组,可以使用以下命令:

代码语言:javascript复制
db.sales.aggregate([
   { $group : { _id : "$salesman", totalSales : { $sum : "$amount" } } }
])

这个命令将按照salesman字段对文档进行分组,并计算每个组的销售额总和。

$project

$project函数允许用户选择特定的字段,并将它们包含在输出结果中。例如,如果我们有一个存储用户信息的集合,并且只想要包含用户名和年龄字段,可以使用以下命令:

代码语言:javascript复制
db.users.aggregate([
   { $project : { name : 1, age : 1 } }
])

这个命令将只包含name和age字段。

$sort

$sort函数允许用户按照指定的字段对文档进行排序。例如,如果我们有一个存储学生信息的集合,并且想要按照年龄对学生进行排序,可以使用以下命令:

代码语言:javascript复制
db.students.aggregate([
   { $sort : { age : 1 } }
])

这个命令将按照年龄字段对文档进行升序排序。

$limit

$limit函数允许用户限制查询结果的数量。例如,如果我们有一个存储图书信息的集合,并且只想要显示前10本书的信息,可以使用以下命令:

代码语言:javascript复制
db.books.aggregate([
   { $limit : 10 }
])

这个命令将只显示前10条文档。

$skip

$skip函数允许用户跳过查询结果中的指定数量的文档。例如,如果我们有一个存储电影信息的集合,并且只想要显示排名第11到第20的电影,可以使用以下命令:

代码语言:javascript复制
db.movies.aggregate([
   { $skip : 10 },
   { $limit : 10 }
])

这个命令将跳过前10个文档,并只显示接下来的10个文档。

0 人点赞