mongodb聚合php

use*_*750 4 php mongodb mongodb-query aggregation-framework

我正在使用mongodb 2.1以及如何将此查询转换为php

db.counter.aggregate([ 
 { $match:{ page_id:123456 }}, 
 { $group:{_id:"$page_id",total:{$sum:"$pageview"}} } 
 ]);
Run Code Online (Sandbox Code Playgroud)

谢谢

Wil*_*m Z 16

您可以使用PHP中的'command()'方法将聚合框架作为数据库命令运行.示例查询的精确语法是:

   $conn = new Mongo("localhost:$port");
   $db = $conn->test;

   $result = $db->command (
            array( 
                "aggregate" => "counter",
                "pipeline" => 
                    array( 
                        array( '$match' => array( 'page_id' => 123456 )),
                        array( '$group' => array( "_id" => '$page_id',
                                    'total' => array( '$sum' => '$pageview')  
                                )
                            )
                    )
            )
        );
Run Code Online (Sandbox Code Playgroud)

  • 在1.3.0`mongo`驱动程序中添加了[aggregate()](http://php.net/manual/en/mongocollection.aggregate.php)帮助程序.底层的`command()`语法也可以正常工作:). (2认同)