一個分組查詢的例子:model.aggregate([{$match: ops}, {$unwind: '$details'}, {$sort: {create_at: -1}}, { $group: { _id: { promotion_id: "$promotion_id", product_id: '$details.product_id', need_pay: '$need_pay' }, product_name: {$first:"$details.name"}, price: {$max: "$details.price"}, amount: {$sum: "$details.amount"}, packing: {$sum: "$details.packing"}, quantity: {$sum: "$details.quantity"} }}, {$match: ops2}, { $group: { _id: { promotion_id: "$_id.promotion_id", need_pay: '$_id.need_pay' }, details: { $push: { product_id: "$_id.product_id", name: '$product_name', price: '$price', amount: '$amount', packing: '$packing', quantity: '$quantity' } } }}], fn);