【发布时间】:2013-04-18 03:17:57
【问题描述】:
在 PHP 代码中使用 MongoDB 的 aggregate() 函数时出现以下错误。这段代码在我运行 MongoDB 2.2.3 的本地设置上完美运行
PHP Fatal error: Call to undefined method MongoCollection::aggregate() in /app/www/page.php on line 52, referer: http://referrer.url
代码
foreach($cats as $key=>$val){
$cats2[$val['lable']] = $myCollection->aggregate( array(
array('$match' => array('user_id' => $user_id )),
array('$unwind' =>"\$data"),
array('$match' => array('data.category'=> $val['category'])),
array('$project' => array('name'=> "\$data.name", 'id'=>"\$data.id")),
array('$group' => array('_id'=>'$id', 'name'=> array('$first' =>'$name'))),
array('$limit' => 12)
));
}
环境
- Heroku 上的 PHP
- 带有 MongoHQ 插件的 MongoDB 2.2.4
【问题讨论】:
-
这通常是由旧驱动引起的,您需要为您的 MongoDB 安装升级驱动
-
聚合方法是在1.3.0中引入的。看起来你正在运行 1.2.xx :]
-
已解决。我在 Heroku 环境中自己编译了 PHP MongoDB 驱动程序。谢谢
标签: php mongodb heroku mongodb-php mongohq