我試圖使用map-reduce來了解何時可以提供幫助。mongodb - 無法理解爲什麼/如何使用map-reduce
所以我有一個集合命名爲「行動」與100K文檔這樣的:
{
"profile_id":1111,
"action_id":2222
}
現在我想要做的map-reduce例子。我試圖獲得一份列表「所有用戶和每個人都有的全部操作」。這可能嗎?我的代碼:
db.fbooklikes.mapReduce(
function(){
emit(this.profile_id, this.action_id);
},
function(keyProfile, valueAction){
return Array.sum(valueAction);
},
{
out:"example"
}
)
..這是行不通的。結果是:
"counts" : {
"input" : 100000,
"emit" : 100000,
"reduce" : 1146,
"output" : 13
},
"ok" : 1,
"_o" : {
"result" : "map_reduce_example",
"timeMillis" : 2539,
"counts" : {
"input" : 100000,
"emit" : 100000,
"reduce" : 1146,
"output" : 13
},
"ok" : 1
},
我想要做的事情是可能與map-reduce?
+1 - 聚合框架更適合這個 – 2014-09-23 01:33:36
謝謝!聚合效果很好!所以,我試圖學習map-reduce,你能提供一些例子在這個集合中使用它嗎? – user3175226 2014-09-23 01:37:59
@ user3175226上面的列表與您所問的內容完全相同。爲了更好地理解使用mapReduce的情況,最好查看[核心文檔](http://docs.mongodb.org/manual/reference/method/db.collection.aggregate/),其中詳細解釋了這些部分,並附帶了示例。另外還有[樣本]部分(http://docs.mongodb.org/manual/tutorial/map-reduce-examples/) – 2014-09-23 01:41:47