1. 程式人生 > >MongoDB 聚合管道查詢詳解 aggregate

MongoDB 聚合管道查詢詳解 aggregate

對於一個MySQL查詢都可以將其轉換成mongodb語句,其轉換順序如下 

一,首先分析sql語句的執行順序

二,針對其順序進行mongodb語句拼湊

例:

select count(*) as total from table where name='aaa' group by sex;

首先是執行 where

然後在group by 各個分組內部執行count

所以mongodb語句為

db.table.aggregate(

[

    {$match:{name:'aa'}},//先where   如果$match在$group後面  那麼就相當於 sql 裡面的having

    {$group:{_id:'$sex', total:{$sum:1}}}//後where  內部巢狀 count

]

);

針對子查詢也是類似的分解