2013-11-14 62 views
0

我有2個集合,類別和產品。 每個產品都有一個category_id。我想列出類別名稱與產品數量... 我已經做了1循環和2查詢。但我想把它作爲一個單一的查詢。 如何在mongo數據庫中生成?mongo db - 用另一個集合的數量獲取表格記錄

public function GetCategories(){ 

    $data = array(); 

    $this->cimongo->where(array('status'=>'1')); 
    $query = $this->cimongo->get('category'); 
    foreach($query->result_array() as $category){ 
     $data[] = array(
      'keyword'  => $category['keyword'], 
      'name'   => $category['name'], 
      'total'   => $this->GetTotalWordsByCategoryId($category['_id']) 
     ); 
    } 
    return $data; 
} 
+1

您無法使用一個查詢查詢兩個集合。 – WiredPrairie

回答

1

絕對沒有什麼可以將其作爲單個查詢。 Mongodb沒有連接,因此如果你想把它作爲一個查詢,你必須在第一個存儲關於第二個集合的信息。

+0

好,我們不能用map縮小嗎? – balaphp

+1

不,mapreduce也在收集級別上運行。所有連接都應該在應用程序層完成。 –