使用模式$匹配$在Mongo php库的总函数中



我在我的代码中使用mongo php库:https://github.com/mongodb/mongo-php-library/

我试图使用Mongo PHP库中的汇总函数将以下查询发送到MongoDB:

blockquote

db.customers.aggregate(
{$match: {Country: "India", Email: {$in: [/.*@gmail.com*/,/.*@hotmail.com*/] } } },
{$group : {_id : {Email: "Email"}, "count" : {$sum : 1} } },
{$sort : {"count" : -1} }
)

此查询在MongoDB服务器上正常工作。但是在PHP代码中它不起作用。

blockquote

$query = array(
['$match' => ['Country' => "India", 
              'Email' => ['$in' => ['/.*@gmail.com*/','/.*@hotmail.com*/']]
             ]
],
['$group' => ['_id' => ['Email' => '$Email']
              'count' => ['$sum' => 1]
             ]
],
['$sort' => ['count' => -1]]
);
$cursor = $this->customers->aggregate($query);

$ in Array不如上所述使用通配符模式。它没有显示任何错误或结果。但它可以与确切的电子邮件一起使用。我怎么能在$匹配下提及$ array中的$中的模式

请建议如何在Mongo PHP库中提交通配符图案。

尝试此

$query = array(
array('$match' => array('Country' => "India",'Email' => 
    array('$in' => array('/.*@gmail.com*/','/.*@hotmail.com*/'))
)),
array('$group' =>  array('_id' =>  array('Email' => '$Email')
              'count' =>  array('$sum' => 1)
             )
),
 array('$sort' =>  array('count' => -1))
);

最新更新