有600.000個文檔的巨大集合。不幸的是有重複的,我想找到。 這些重複僅在首字母大寫/小寫字母之間有所不同。MongoDB:查找數據庫中的所有低/大寫副本
{ key: 'Find me' },
{ key: 'find me' },
{ key: 'Don't find me }, // just one document for this string
{ key: 'don't find me either } // just one document for this string
現在我想要得到所有重複,這意味着存在一個大寫字母和小寫字符串。
600k看起來不是很多。假設這些字符串不太長(即不是書),它們都應該適合內存。平均每個文件80個字符(在終端中一行)只有〜48Mb。因此,我建議將它們全部加載到數據庫客戶端並在內存中進行處理。它也可以用Mongo來完成(db端函數),但它會阻塞整個數據庫。你也可以嘗試map/reduce,但它似乎是更復雜的解決方案。我認爲這是你所有的選擇。 – freakish
聽起來不錯,因爲每個條目都非常小(avrg 10-20個字符),那麼從數組中獲取重複數據將是一個正常的javascript問題。 – user3142695