因此,我將我的一些代碼從SQL移動到mongodb,並且有幾件事情對我來說還不是很清楚。什麼是總和和排序mongodb查詢的最佳途徑
比方說,我有以下簡單的SQL查詢(只是一個例子)
select count(a.id) as count, b_id
from table group by b_id
where c_id=[SOME ID]
group by b_id
order by count desc;
我認爲每個人都明白是什麼一樣。
現在用mongo我可以使用多種方法,在mongo端執行所有操作,獲取總結的結果並對客戶端進行排序,或者僅將原始數據提交給客戶端,然後執行所有處理。
對於上面的查詢,最好的辦法是用一些內部的mongodb機制(mapreduce等)在數據庫中完成所有操作,或者將集合提取到客戶端並在那裏處理。通常數據集將會很大,但如果需要的話,查詢可以分成幾個部分。
客戶端是基於Java的,如果重要的話。
我不生產(還),所以我可以使用,在您看來是匯聚框架的情況下始終表現最好的方法以上? – mikkom 2012-02-16 12:26:43
除了手動管理彙總數據(這是非常情景化的)是的。 AF是完全原生的,而組和m/r是JavaScript供電的,因此單線程和(相對)慢。坦率地說,如果你想m/r我會與Hadoop集成,而不是使用MongoDB m/r – 2012-02-16 12:30:01
謝謝,我想我將不得不安裝最新的unstable。 – mikkom 2012-02-16 12:33:34