2011-11-15 59 views
1

我有一個map reduce函數,爲了提高效率,不應該一次運行。所以我根據一系列ID分割它,結果,我得到了一堆單獨的集合。我現在想加入它們併合並所有的mapreduce結果。結果表應該仍然只有一個鍵和一個具有組合的臨時表值的值數組。MongoDb - 重新加入拆分mapreduce任務

我在像這樣我的輸出使用「減少」,從而使現有的表剛剛被更新試過,但是這並不工作:

res = db.People.mapReduce(m, r, {query:{xyz}, out:{reduce:"FoodPerPeople"}}); 

編輯)它給了我嵌套數組:

{ 
    "_id" : "Banana", 
    "value" : ["Bart", ["Joe"]] 
} 

我明白這是爲什麼happening--再降低功能被處理的值的輸入的陣列在其本身的值。的

例子就是我在尋找:

COLLECTION 1:

{ 
    "_id" : "Banana", 
    "value" : ["Bart"] 
} 

COLLECTION 2:

{ 
    "_id" : "Banana", 
    "value" : ["Joe"] 
} 

聯合COLLECTION: - 如何獲得呢?

{ 
    "_id" : "Banana", 
    "value" : ["Bart", "Joe"] 
} 
+0

你能澄清「這不行」嗎?你得到一個錯誤,或只是意想不到的結果? – dcrosta

+0

請參閱我的編輯 – carlbenson

+0

謝謝。你還可以顯示你的地圖並減少功能嗎? – dcrosta

回答

0

很可能是因爲減少了不能減少已經減少的數據的功能。您應該閱讀此technical explanation並嘗試使您的減少功能符合此條件。