mongdb aggregate聚合操作
阿新 • • 發佈:2019-01-06
1、資料準備
檢視前一篇group操作
2、aggregate函式引數講解
mysql mongdb
===================
WHERE --->$match
GROUP BY --->$group
HAVING --->$match
SELECT --->$project
ORDER BY --->$sort
LIMIT --->$limit
SUM() --->$sum
COUNT() --->$sum
3、操作案例
#查詢每個欄目下的商品數量 db.collection.aggregate(); [ {$group:{_id:"$cat_id",total:{$sum:1}}} ] #查詢goods下有多少條商品,select count(*) from goods [ {$group:{_id:null,total:{$sum:1}}} ] #查詢每個欄目下 價格大於50元的商品個數 [ {$match:{shop_price:{$gt:50}}}, {$group:{_id:"$cat_id",total:{$sum:1}}} ] #查詢每個欄目下 價格大於50元的商品個數 #並篩選出"滿足條件的商品個數" 大於等於3的欄目 [ {$match:{shop_price:{$gt:50}}}, {$group:{_id:"$cat_id",total:{$sum:1}}}, {$match:{total:{$gte:3}}} ] #查詢每個欄目下的庫存量 [ {$group:{_id:"$cat_id" , total:{$sum:"$goods_number"}}}, ] #查詢每個欄目下的庫存量,並按庫存量排序 [ {$group:{_id:"$cat_id" , total:{$sum:"$goods_number"}}}, {$sort:{total:1}} ] #查詢每個欄目下的庫存量,並按庫存量排序 [ {$group:{_id:"$cat_id" , total:{$sum:"$goods_number"}}}, {$sort:{total:1}}, {$limit:3} ] #查詢每個欄目的商品平均價格,並按平均價格由高到低排序 [ {$group:{_id:"$cat_id" , avg:{$avg:"$shop_price"}}}, {$sort:{avg:-1}} ]