如何将这个MongoDb查询传递给Laravel jenssegers / laravel-mongodb

时间:2015-12-11 00:33:06

标签: mongodb laravel jenssegers-mongodb

我需要在laravel中运行它。

db.blog.aggregate([
    {
        $project : 
        { 
          likes_count: {$size: { "$ifNull": [ "$like", [] ] } } 
       }
    }, 
    {   
        $sort: {"likes_count":-1} 
    }
    ])

如何使用jenssegers / laravel-mongodb包实现此功能? 谢谢

2 个答案:

答案 0 :(得分:1)

我解决了这个问题:

$cursor = \DB::collection('blog')->raw()->aggregate([
            ['$project' => ['_id' => 0,
                           'likes' => array('$size' => array('$like')),
                           ]
            ],['$sort' => array('likes' => -1)]
        ]);

答案 1 :(得分:1)

此外,它可以通过MongoDB原始查询来解决,如下所示:

Product::raw()->find('your mongo raw statement')