2013-02-11 36 views
2

在mongoDB中使用大型集合,對文檔樣本而不是整個集合進行分析通常很有幫助。一個乾淨的方法是通過一個散列函數將ObjectIds映射到整數來運行ObjectIds,然後使用$ mod來選擇文檔的子樣本。MongoDB:將_id散列爲整數?

主要觀點是以一種有效的隨機方式繪製文檔樣本:集合中的選擇與我們可能關心的任何其他內容不相關。

有沒有很好的方法來做到這一點?如果查詢速度快,則爲獎勵積分。 PS:我知道random attribute的方法,但不喜歡它太多,因爲它浪費存儲空間。

回答

0

難道你不能獲得數組中的集合中的文檔的所有objectIds,排序數組,然後選擇該數組中的隨機索引位置?

+0

是的,但它涉及整個集合的兩個查詢。 – Abe 2013-02-12 00:19:18