草庐IT

php - 使用 PHP 从大型 MongoDB 集合中选择第 N 个元素?

我有一个包含~4M元素的MongoDB集合。我想抓取X数量的这些元素,在整个集合中均匀分布。例如,从集合中获取1000个元素-每4000行一个。现在,我将整个集合放在游标中,然后只写入第N个元素。这给了我我需要的东西,但庞大集合的原始负载需要很长时间。有没有简单的方法来做到这一点?现在我猜测的方法是对一个递增的索引属性进行JS查询,并带有一个模数。这个的PHP实现:db.collection.find({i:{$mod:[10000,0]}})但这似乎可能需要同样多的时间来运行查询。杰尔 最佳答案 使用$sample.这会返回一个随