MongoDB - PHP Group By Count

时间:2016-06-03 10:08:09

标签: php mongodb

我有这段代码:

{ path: '/home/...', name: 'Home', component: HomeComponent},

$ valoreScelto是MongoDB文档的有效字段,我按FORM重试。

function getRecordReportState() {
        var state = {
            name: 'auth.recordreport',
            url: '/recordreport/:userId/:month/:year',
            templateUrl: 'app/recordReport/recordReport/recordReport.html',

我收到此错误:

function cancelAndGoBack() {
    $window.history.back();
}

2 个答案:

答案 0 :(得分:1)

更新:

错误说明:您正在尝试访问字符串中的“aggregate”方法(Variable $ collection1具有类型 - 字符串)。

您需要检查$ collection1(例如var_dump)。 $ collection1必须是Collection(或在mongo扩展名MongoCollection中)。

你可以得到这样的集合:

   $yourConnectInDB = new Client(...); // or MongoClient(...);
   $db = $yourConnectInDB->selectDatabase('YOUR DB NAME');
   $collection1 = $db->selectCollection('YOUR COLLECTION NAME');

此外,在您的代码中,您希望使用如下聚合:

$ops = array( // base array
    array(
        '$group' => array(
            "_id" => $valoreScelto,
            "contatore"   => array('$sum'=>1),
        )
    ),
   // other pipeline
);
$data=$collection1->aggregate($ops);

Read thisthis

答案 1 :(得分:0)

我也尝试了上面的答案,但没有返回任何内容。经过大量尝试,我发现我错过了一个关键字,如果没有该关键字,以上查询将无法正常工作。我要粘贴下面的代码。

$ops = [
    [
        '$group' => [
            "_id" => $valoreScelto,
            "contatore"   => ['$sum'=>1],
        ]
    ]
 ];
$data=$collection1->aggregate($ops)->toArray();