3

phpの新しいmongodb集約フレームワークを使用しようとしています。

OSX MountainLionでmongodv2.2、php 5.3.13、mongodbpeclライブラリv1.3.0beta2を使用しています

私は門でつまずきます...

私はphpドキュメントページから例の1つを取り、それを...に切り詰めました。

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

このページを表示すると、私のmongodでエラーが発生します...

アサーション13111::フィールド(パイプライン)3のタイプが間違っています!= 4

私は一生の間、コードに何か問題があるのを見ることができません。

db.zips.aggregate({$group : {'_id': "$state"}})mongoコンソールで実行すると、正常に動作します。

4

1 に答える 1

1

これはばかげているように聞こえるかもしれません。MongoCollection::aggregateドキュメントでは、メソッドがパイプラインへのステップとして複数の引数を受け入れると言っていますが、これを機能させる唯一の方法は、すべてのパイプラインを含む単一の引数を発行することです。そのようなステップ:

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

これがお役に立てば幸いです。

于 2012-10-26T00:14:51.187 に答える