我正在使用mongodb-odm,我有一个根据幽默,观点,恶作剧等类别分发的视频数据库。
对于主页我需要每个类别至少5个视频,是否可以构建查询以从每个类别中获取5个文档?
我所尝试的是逐个为每个类别分隔查询,这似乎不是一个好主意。
public function fetchTopVideos(){
$dm = parent::getDocumentManager();
$res = $this->app->make('stdClass');
$res->status = 0;
$limit = 5;
$videos1 = $dm->getRepository("Videos")->findBy(array("category"=>"humor"),array(),$limit,0);
$videos2 = $dm->getRepository("Videos")->findBy(array("category"=>"opinion"),array(),$limit,0);
};
......
......
我的Mongo文档看起来有点像代码,但实际文档还有更多字段。
{
"_id" : ObjectId("55c0866cbff0fa431d8b4567"),
"title" : "Harsha Bhogle at IIM",
"alias" : "harsha-bhogle-at-iim",
"url" : "https://www.youtube.com/embed/kaw_bKOkULM?autoplay=0&rel=0&showinfo=0&modestbranding=1",
"category" : "opinion",
"tags":[
"cricket",
"IIM"
],
"thumbnailUrl":"http://i.ytimg.com/vi/kaw_bKOkULM/hqdefault.jpg",
"logtime":"1449663691"
}
甚至建议使用逻辑!!