MongoDB系列:管道操作:聚合阶段操作符
在MongoDB中,管道操作是一种将多个操作符应用于集合中的文档的方法。下面是一些常用的聚合阶段操作符:
$match
:过滤文档,只有符合条件的文档才能进入下一阶段。$group
:将输入文档按指定的_id
表达式分组,并可以进行合并操作。$sort
:将输入文档排序后输出。$limit
:限制管道的输出结果数量。$skip
:跳过管道中的指定数量的文档,然后输出剩余的文档。
以下是使用这些操作符的示例代码:
// 假设有一个名为"orders"的集合,我们要找出2017年的所有订单
db.orders.aggregate([
{ $match: { orderDate: { $gte: new Date('2017-01-01'), $lt: new Date('2018-01-01') } } },
{ $group: { _id: null, total: { $sum: "$amount" } } },
{ $sort: { total: -1 } },
{ $limit: 5 },
{ $skip: 10 }
]);
这个例子中,我们首先用$match
过滤出2017年的订单,然后用$group
操作符来计算所有订单的总金额,接着用$sort
对总金额进行排序,用$limit
限制输出前5个结果,最后用$skip
跳过前10个结果,只显示剩下的结果。
评论已关闭