2013-07-12 24 views
2

我的使用案例是這樣的:目前,在沙發中,我通過發佈基於文檔字段以編程方式計算的mapreduce關鍵字來創建視圖。例如,一個文檔總是有字段a,b,c,每個字段都有一個數值,我想索引他們的總和,而不必將其明確地存儲爲另一個字段。 Couch的索引(視圖)非常適合,因爲我可以發射任何我想要的東西。所以在我的用例中,我正在發射(a + b + c,_id)。與插入新字段相比,這些字段的更新很少見,但它們確實發生。這一點的重點是,查詢我的應用程序的最大部分是在這樣的派生索引上的範圍或單個查詢。請注意,我不需要減少部分。我可以用mongo做到這一點嗎?我已閱讀文檔,但我無法找到關於它的信息。有任何想法嗎?我想在mongo中做這件事的原因是我想在真實場景中嘗試它,並將我的用例與沙發的性能進行比較。Mongo vs特定使用案例中的沙發

+0

「無法找到它?」那是什麼? MongoDB具有MapReduce,但與CouchDB視圖不同。它也有一個聚合框架,但它是「活的」,並不是預先計算的。 – WiredPrairie

+0

是的,我無法找到任何有關使用mapreduce的地圖部分作爲索引 – Paralife

回答

4

MongoDB確實有MapReduce,但是結果並沒有被存儲和增量更新,因此它不適合你想要做的事情。您將不得不在文檔中存儲總和字段,並在更新時更新自己。