2012-09-12 5 views
3

php에서 새로운 mongodb 집계 프레임 워크를 사용하려고합니다. 내가 OSX 마운틴 라이온에 mongod 버전 2.2, PHP 5.3.13 및 MongoDB를 PECL 라이브러리 v1.3.0beta2을 사용하고php mongodb aggregation (어설 션 13111 오류)

나는 게이트에서 오른쪽으로 비틀 거리고있어

...

I ... 나는 페이지를 볼 때

$m = new Mongo; 
$c = $m->selectDB("test")->selectCollection("zips"); 
$out = $c->aggregate(array('$group' => array('_id' => '$state'))); 
var_dump($out); 

내가 내 mongod에 오류가 ... PHP는 문서 페이지에서 예제 중 하나를 촬영했습니다 '와 그것을 줄일

어설 션 13111 : 필드에 잘못된 유형 (파이프 라인) 3! = 4

나는 코드의 문제를 볼 수 없다.

mongo 콘솔에서 db.zips.aggregate({$group : {'_id': "$state"}})을 실행하면 정상적으로 작동합니다.

답변

1

이것은 어리석은 것처럼 들리 겠지만, 나는이 방법이 파이프 라인의 단계로 여러 인수를 받아들이지만,이 작업을 관리하는 유일한 방법은 모든 파이프 라인을 포함하는 단일 인수를 발행하는 것이라고 말합니다. 단계는 다음과 같습니다.

$out = $c->aggregate(array(
    array(
    '$group' => array('_id' => '$state') 
    ) 
); 

이 정보가 도움이되기를 바랍니다.

+1

귀하의 대답은 오류 3! = 4를 제거하는 데 도움이되었습니다. 그러나, 지금 메신저'Pipeline :: run() : 알 수없는 파이프 라인 "$ 최대"와 함께 붙어있다. 내 코드는 다음과 같습니다 :'$ max_user_no = $ collection-> aggregate (array ('$ max'=> 'user_no' – davneet

+0

정확히 같은 문제가 있습니다. $ max/$ min이 지원되지 않습니까? – greatwitenorth

+0

최대/분은'group'에서 사용하기위한 것입니다. [docs] (http://docs.mongodb.org/manual/reference/aggregation/group/#_S_group). – Roberto