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條文檔。

 

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