MongoDB随机获取表有的n条数据

db.user.aggregate( [ { $sample: { size: 10 } } ] )

上面的命令可以随机返回集合user中的20条数据

使用MongoDB的aggregate聚合函数 + $sample表达式

db.collection_name.aggregate() 

$sample 表达式:

3.2+版本中新增,类似于大数据中的“数据采样”方式,从input中随机选择N条documents,语法“{$sample: {size: <N>}}”。如果N大于collection中总数据的5%,那么$sample将会执行collection扫描、sort,然后选择top N条文档;如果N小于5%,对于wiredTiger而言则会遍历collection并使用“伪随机”的方式选取N条文档,对于MMAPv1引擎则在_id索引上随机选取N条文档。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章