2013-05-17 2 views
0

Mongodb 집합체를 작동시키는 데 어려움이 있습니다. 나에게 널주는거야. 도와주세요. 아래 코드는 PHP로 작성되었습니다. 감사. 내가 원하는 무엇MongoDB가 계속 null을 제공합니다

2 특정 날짜

$sum처럼 $group 포함 할 수 없습니다 집계 사업자의
try { 
     $mongodb = new MongoClient("mongodb://ad:[email protected]"); 

     $database = $mongodb->selectDB('backend'); 
     $collection = new MongoCollection($database, 'RequestSummary'); 

     $pipeline = array(
      array(
       '$group' => array(
        '_id' => array(
         'request' => array('$sum' => '$Requests'), 
         'response' => array('$sum' => '$Responses') 
        ) 
       ) 
      ), 
      array(
       '$match' => array(
        'RequestDate' => array(
         '$gte' => intval($_SESSION['range_from']), 
         '$lte' => intval($_SESSION['range_to']) 
        ) 
       ) 
      ) 
     ); 
     $collection->aggregate($pipeline); 
     var_dump($g); 
    } catch (MongoConnectionException $exc) { 
     echo $exc->getTraceAsString(); 
    } 

답변

0

_id 사이에, 2 필드, 요청 및 응답의 값을 요약하는 것입니다. 이러한 합계는 _id과 동일한 수준의 필드로 정의해야합니다. 특정 필드에 그룹화하지 않으려면 다음과 같이 _idNULL을 사용할 수 있습니다.

array(
    '$group' => array(
     '_id' => NULL, 
     'request' => array('$sum' => '$Requests'), 
     'response' => array('$sum' => '$Responses') 
    ) 
),