| 语法 | db.collection.aggregate([ stage, ... ], options) |
|---|---|
| 常用阶段 | $match / $group / $project / $sort / $limit / $unwind / $lookup |
| 常用选项 | allowDiskUse / maxTimeMS / collation / explain |
端到端示例
端到端示例
db.orders.aggregate([
{ $match: { status: "paid" } },
{ $group: { _id: "$sku", totalQty: { $sum: "$qty" }, orders: { $sum: 1 } } },
{ $sort: { totalQty: -1 } },
{ $limit: 5 }
])管道按“先过滤、后计算”排列能显著减少后续阶段的数据量。