2012-11-09 3 views
1

수집 된 "페이지"에서 다른 레코드를 찾고 싶습니다. 리튬을 사용하여 MongoDB에서 고유 한 레코드 가져 오기

내가 시도 : 나는 또한 시도

:

$params = array('conditions'=>array(
     'distinct' => 'pages', 
     'key' => 'volume_number', 
     )); 
    $pageVolumes = Pages::all($params); 

을 답변 중 하나에 또한 MongoDB의 문서에서 제시하고있다. 나는 몽고를 통해이를 실행하려고하면

, 내가 올바른 결과

나는 distinct 명령에 대한 lithium\data\source\MongoDb에서 래퍼 방법이 생각하지 않습니다
> db.runCommand({distinct:'pages',key:'volume_number'}) 
{ 
    "values" : [ 
      22, 
      38 
    ], 
    "stats" : { 
      "n" : 1084, 
      "nscanned" : 1084, 
      "nscannedObjects" : 1084, 
      "timems" : 25, 
      "cursor" : "BasicCursor" 
    }, 
    "ok" : 1 
} 
+0

이 코드는 나를 위해 일한! '$ pageVolumes = 페이지 : 연결() -> 연결 -> 명령 (배열 ( \t '별개'=> '페이지', \t '키'=> 'VOLUME_NUMBER', \t)); \t \t ' 결과 '어레이 ( [값] => 배열 ( [0] => 22 [1] => 38 ) [통계] => 배열 ( [ N] => 1,084 [nscanned] => 1,084 [nscannedObjects] => 1,084 [timems] => 3 [커서] => BasicCursor ) [확인] => 1 ) ' –

답변

1

를 얻을; 내가 네이트 아벨가 distinct에 대한 지원을 추가하기 위해 리튬을 끌어 오기 요청을 환영 확신, 또는

// Where $mongodb is an instance of lithium\data\source\MongoDb 
$result = $mongodb->connection->command(array(
    'distinct' => 'pages', 
    'key' => 'volume_number', 
)); 

: 그러나, MongoDb 클래스는 PHP 드라이버의 MongoMongoDB 클래스를 구성하지, 그래서 당신은 다음과 같은 작업을 수행 할 수 read() 메서드는 이미 group에 대한 것과 같습니다 (사실 현재 코드는이 코드를 구현하는 데 좋은 출발점이됩니다).

+0

다음을 추가했습니다 : lithium \ data \ source \ MongoDb; 및 $ 결과 = $ mongodb-> 연결 -> 명령 (배열 ( '구별'= ''페이지, '키'=> 'volume_number', ))); 코드에 .. 결과가 없습니다. –

+0

결과가 없다면,'$ mongodb'은 애플리케이션의 Pages 모델에 사용 된 것과 동일한 데이터베이스 리소스가 아닙니다. 위의 귀하의 의견을 바탕으로'Pages :: connection()'이 필요한 참조를 반환했습니다. – jmikola

0

이 코드는 나를 위해 일했습니다!

$pageVolumes = Pages::connection()->connection->command(array(
    'distinct' => 'pages', 
    'key' => 'volume_number', 
));  

결과 :

Array 
(
    [values] => Array 
     (
      [0] => 22 
      [1] => 38 
     ) 

    [stats] => Array 
     (
      [n] => 1084 
      [nscanned] => 1084 
      [nscannedObjects] => 1084 
      [timems] => 3 
      [cursor] => BasicCursor 
     ) 

    [ok] => 1 
) 
관련 문제