MongoDB в PHP с использованием агрегата в группу с помощью _id null не работает

Я пытаюсь использовать эту команду MongoDB и фильтровать ее работу, когда я переводил ее на PHP, надеюсь, что есть одна, которая может помочь мне объяснить, почему она не работает?

Синтаксис MongoDB:

db.getCollection('product').aggregate( [ { $match: { 'Store.Title': { $regex: 'apc', $options: 'gi' } } }, { $group: { _id: null, count: { $sum: 1 } } } ] ); 

Результат от MongoDB:

 { "result" : [ { "_id" : null, "count" : 774.0000000000000000 } ], "ok" : 1.0000000000000000 } 

Фильтрующий массив PHP:

 [ [ '$match' => [ 'Store.Title' => ['$regex' => 'apc', '$options' => 'gi'] ] ],[ '$group' => [ '_id' => 'null', 'count' => [ '$sum' => 1 ] ] ] ] 

Выход из PHP:

 Array ( [result] => Array ( ) [ok] => 1 ) 

Я надеюсь, что есть простое объяснение по этому вопросу, спасибо за помощь парням.

Используйте объект MongoRegex :

 $search = "apc"; $where = array('Store.Title' => array('$regex' => new MongoRegex("/^$search/gi"))); // $where = array('Store.Title' => array('$regex' => new MongoRegex("/".$search."/gi"))); [ [ '$match' => $where ], [ '$group' => [ '_id' => 'null', 'count' => [ '$sum' => 1 ] ] ] ]