1.$project(修改文档的结构,可以用来重命名、增加或删除文档中的字段)
db.order.aggregate([
{
$project:{ rade_no:1, all_price:1}
}
])
2.$match(用于过滤文档。用法类似于 find() 方法中的参数)
db.order.aggregate([
{
$project:{ rade_no:1, all_price:1}
},
{
$match:{"all_price":{$gte:80}}
}
])
3.$group(将集合中的文档进行分组,可用于统计结果。统计每个订单的订单数量,按照订单号分组)
db.order.aggregate([
{
$group:{ _id:"$order_id", total:{$sum:"$num"}}
}
])
4.$sort(将集合中的文档进行排序)
db.order.aggregate([
{
$project:{ rade_no:1, all_price:1}
},
{
$match:{"all_price":{$gte:80}}
},
{
$sort:{"all_price":1}
}
])
5.$limit(取一定数量的数据)
db.order.aggregate([
{
$project:{ rade_no:1, all_price:1}
},
{
$match:{"all_price":{$gte:80}}
},
{
$sort:{"all_price":1}
},
{
$limit:1
}
])
6.$skip(跳过几条数据去取数据)
db.order.aggregate([
{
$project:{ rade_no:1, all_price:1}
},
{
$match:{"all_price":{$gte:80}}
},
{
$sort:{"all_price":1}
},
{
$skip:1
}
])
7.$lookup(表关联)
db.order.aggregate([
{
$lookup:
{
from: "order_item", localField: "order_id", foreignField: "order_id", as: "items"
}
}
])
这里也可以配合其他管道操作进行操作