如何在Mongodb中使用聚合函数?

时间:2018-04-18 09:13:42

标签: php mongodb aggregation-framework php-mongodb

我已将php5升级到php7。如果我使用mongoClient进行mongodb连接,则会显示错误。所以我使用了以下命令。

$manager = new MongoDB\Driver\Manager("mongodb://".MONGOHOST.":27017");

通过使用上面的命令我可以连接db.Now问题是在php5中,我使用了聚合函数。它在php7中不支持。下面提到的php5中使用的代码..

用于数据库连接

$m = new MongoClient('mongodb://'.MONGOHOST.'', array('username' => MONGOUSER, 'password' => MONGOPASS, 'db'=> MONGODB )); $db = $m->selectDB(MONGODB);

从db:

中检索值
$ops = array(
        array(
             '$match'=>array(
                "datetime"=>array('$gte'=>$start,'$lte'=>$end)
                )
            ),
        array(
            '$group' => array(
                "_id" => array("slotid" => '$slotid',"bidder" => '$bidder',"viewerid" => '$viewerid',"mediatype"=>'$mediatype'),"total" => array('$sum' => 1),"sitename" =>array('$addToSet' => '$sitename'),"aid" =>array('$addToSet' => '$accountid'),
                ),
            ),
        );

$ reqbids = $ db-> requestbids-> aggregate($ ops);

如何做到这一点是使用mongo驱动程序..我已经搜索了2天,但没有找到解决方案。

1 个答案:

答案 0 :(得分:0)

您不能使用mongoClient 您必须使用 Mongodb经理
http://php.net/manual/en/class.mongodb-driver-manager.php

并且对于聚合函数使用以下代码。 Link
@ViewChild('dropdownvalue',{read:ViewContainerRef}) dropdownvalue : ViewContainerRef @ViewChild('dropdown') dropdown; data = [ {name:'Hi',value:[]}, {name:'Hello',value:[ {name:'Xoxo',value:[{name:'Hey',value:[{name:'Hola',value:[]}]}]}, {name:'Yolo',value:[]} ]}, {name:'Hey',value:[]}, {name:'Hola',value:[]} ] ngAfterViewInit(){ this.data.forEach((value,index)=>{ this.dropdownvalue.createEmbeddedView(this.dropdown,{$implicit:{link:value.name}}) if(value.value.length > 0){ this.change(this.data[index]) } }) } change(data){ data.value.forEach((value,index)=>{ this.dropdownvalue.createEmbeddedView(this.dropdown,{$implicit:{link:value.name}}) if(value.value.length > 0){ this.change(data.value[index]) } }) }

$conn = new MongoDB\Driver\Manager("mongodb://127.0.0.1");