我将mongodb与php结合使用,并且我有一个数据库,每次都能通过聚合查询从中获得一个随机记录,但是我特别需要仅将语言设置为英语的随机记录。我已经在每个记录中设置了一个“ lang”字段。
目前,我有以下代码来提取随机记录。
$dbname = 'project';
$m = new MongoClient("mongodb://127.0.0.1:27017");
$videosdb = $m->$dbname->videos;
$randvideo = $videosdb->aggregate(array('$sample'=>array("size"=>1)));
任何人都可以帮忙!
答案 0 :(得分:1)
如果要查找带有"lang" = "english"
的文档,则可以像这样使用$match
条件进行汇总:
db.articles.aggregate(
[ { $match : { author : "dave" } } ]
);
更多详细信息可以在这里找到:https://docs.mongodb.com/manual/reference/operator/aggregation/match/
在您的情况下查询将如下所示:
$videosdb->aggregate(
array('$match'=>array("language"=>"English")),
array('$sample'=>array("size"=>1)));