我正在尝试使用php的新mongodb聚合框架。
我在OSX Mountain Lion上使用mongod v2.2,php 5.3.13和mongodb pecl库v1.3.0beta2
我在门口磕磕绊绊......
我从php文档页面中选取了一个示例并将其缩减为......
$m = new Mongo;
$c = $m->selectDB("test")->selectCollection("zips");
$out = $c->aggregate(array('$group' => array('_id' => '$state')));
var_dump($out);
当我查看该页面时,我的mongod中出现错误...
断言13111 ::字段(管道)3的错误类型!= 4
我不能为我的生活看到代码有什么不妥。
如果我在mongo控制台中运行db.zips.aggregate({$group : {'_id': "$state"}})
,它可以正常工作。
答案 0 :(得分:1)
这可能听起来很愚蠢,我知道MongoCollection::aggregate docs说该方法接受多个参数作为管道的步骤,但我设法使这个工作的唯一方法是发出一个包含所有的参数管道步骤,如下:
$out = $c->aggregate(array(
array(
'$group' => array('_id' => '$state')
)
);
我希望这会有所帮助。