db.getCollection('sales').insertMany([{ "_id" : 1, "item" : "1", "price" : 10, "quantity" : 2},{ "_id" : 2, "item" : "2", "price" : 20, "quantity" : 1},{ "_id" : 3, "item" : "3", "price" : 5, "quantity" : 10},{ "_id" : 4, "item" : "4", "price" : 5, "quantity" : 20},{ "_id" : 5, "item" : "5", "price" : 10, "quantity" : 10}])
$match过滤
- 用于过滤数据,只输出符合条件的文档
 
查询不小于10元价格的商品
{ $match: {price: {$gt: 10} }}
$sort排序
- 升序 1
 
{ $sort: {price: 1} }
- 降序 -1
 
{ $sort: {price: -1} }
$limit限制
- 用来限制MongoDB聚合管道返回的文档数
 
{ $limit:2 }
$group分组
- 将集合中的文档分组,可用于统计结果
 
{ $group: {_id : "$price", total : {$sum : 1} } }
(结果)
$skip跳过
- 跳过指定数量的文档,并返回余下的文档
 
{ $skip:2 }
连写:
筛选字段—》过滤—》排序
db.sales.aggregate([{$project: {price: 1, quantity: 1} },{$match: {quantity: {$gte:10}} },{$sort: {price: -1} }])

其他
- $unwind:将文档中的某一个数组类型字段拆分成多条,每条包含数组中的一个值。
 - $group:将集合中的文档分组,可用于统计结果。
 - $sort:将输入文档排序后输出。
 - $geoNear:输出接近某一地理位置的有序文档。
 
