MongoDB-Aggregatabfrage mit PHP-Treiber

Ich habe eine ArbeitMongoDB aggregierte Abfrage, die ich über die MongoDB-Shell ausführen kann. Ich versuche jedoch, es so umzustellen, dass es mit dem Beamten zusammenarbeitetPHP Mongo-Treiber (http://php.net/manual/en/mongocollection.aggregate.php).

Hier ist die funktionierende rohe MongoDB-Abfrage:

db.executions.aggregate( [  
   { $project : { day : { $dayOfYear : "$executed" } } },
   { $group : { _id : { day : "$day" }, n : { $sum : 1 } } } , 
   { $sort : { _id : -1 } } , 
   { $limit : 14 }
] )

Hier ist mein Versuch(funktioniert nicht) imPHP mit dem Mongo-Treiber:

$result = $c->aggregate(array(
    '$project' => array(
        'day' => array('$dayOfYear' => '$executed')
    ),
    '$group' => array(
        '_id' => array('day' => '$day'),
        'n' => array('$sum' => 1)
    ),
    '$sort' => array(
        '_id' => 1
    ),
    '$limit' => 14
));

Der Fehler aus dem obigen PHP-Code ist:

{"errmsg":"exception: wrong type for field (pipeline) 3 != 4","code":13111,"ok":0}

Irgendwelche Ideen? Vielen Dank.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage