Cuando se ejecuta la siguiente consulta, los resultados se muestran en mongo Shell.
Registros de muestra
{ "_id" : ObjectId("587e21df6e79d255011a9c6a"), "vendor_id" : "101", "subscription_id" : 14, "created_at" : ISODate("2017-01-17T13:53:35.272Z") } { "_id" : ObjectId("587e21df6e79d255011a9c6c"), "vendor_id" : "102", "subscription_id" : 14, "created_at" : ISODate("2017-01-17T13:56:35.272Z") }Consulta
db.user_config.aggregate({$group: { _id : "$subscription_id", list: { $push: { _id: "$_id", vendor_id: "$vendor_id" } } }})Resultados
/* 1 */ { "result" : [ { "_id" : 14, "list" : [ { "_id" : ObjectId("587e21df6e79d255011a9c6a"), "vendor_id" : "user_101" }, { "_id" : ObjectId("587e21df6e79d255011a9c6b"), "vendor_id" : "user_101" } ] } ], "ok" : 1.0000000000000000 }Pero cuando se hace lo mismo a través de laravel, se produce el siguiente error. $pipeline no es una lista (índice inesperado: "$group")
A continuación se muestra el código laravel
$configuration_list = UserConfig::raw()->aggregate([ '$group' => [ '_id' => '$subscription_id', 'list' => ['$push' => ['_id' => '$_id', 'vendor_id' => '$vendor_id']] ] ] );Alguien por favor me puede ayudar a resolver este problema..
Envuelva los pasos de canalización de agregación en una matriz :
$pipeline = [ [ '$group' => [ '_id' => '$subscription_id', 'list' => [ '$push' => [ '_id' => '$_id', 'vendor_id' => '$vendor_id' ] ] ] ] ]; $configuration_list = UserConfig::raw()->aggregate($pipeline);