在mongodb 中 使用mapReduce 有一部分value不經過reduce處理,很是疑惑。先上程式碼
db.test.mapReduce(
function () {
emit({
host: this.host,
os: this.os,
computed_on_date: this.computed_on_date,
uid: this.uid
}, {data: this.os});
},
function (key, value) {
return {result: 1};
},
{
out: "a"
}
)
應該輸出的資料為
"_id" : {
"host" : "www.ddc.com",
"os" : "android",
"computed_on_date" : "2017-04-19",
"uid" : "0ae71c7\ne-7da6-9051-ec6c-49dc671b4e3a"
},
"value" : {
"result" : 1
}
實際輸出資料為
"_id" : {
"host" : "www.ddc.com",
"os" : "android",
"computed_on_date" : "2017-04-19",
"uid" : "0ae71c7\ne-7da6-9051-ec6c-49dc671b4e3a"
},
"value" : {
"data" : "android"
}
非常疑惑,在條件emit的key少於4個時候,會正常顯示,如果大於3個或加了query條件,就不會進行reduce處理。
另外有一個問題,mapReduce在有query時,是先處理query還是選處理reduce再在結果中處理query
Your Answer
1 個答案
建議使用aggregation來做。與MR比較,aggregation是MongoDB的first class的特性。
供參考。
Love MongoDB! Have fun!
Hot Questions
function_exists()無法判定自訂函數
2024-04-29 11:01:01
google 瀏覽器 手機版顯示的怎麼實現
2024-04-23 00:22:19
子窗口操作父窗口,輸出沒反應
2024-04-19 15:37:47
父視窗沒有輸出
2024-04-18 23:52:34
關於CSS心智圖的課件在哪?
2024-04-16 10:10:18
Hot Tools
vc9-vc14(32+64位元)運行庫合集(連結在下方)
phpStudy安裝所需運行函式庫集合下載
VC9 32位
VC9 32位元 phpstudy整合安裝環境運行庫
php程式設計師工具箱完整版
程式設計師工具箱 v1.0 php整合環境
VC11 32位
VC11 32位元 phpstudy整合安裝環境運行庫
SublimeText3漢化版
中文版,非常好用
熱門話題
抖音等級價目表1-75
20334
7
20334
7
wifi顯示無ip分配
13530
4
13530
4
虛擬手機號碼接收驗證碼
11850
4
11850
4
gmail信箱登陸入口在哪裡
8835
17
8835
17
windows安全中心怎麼關閉
8419
7
8419
7
熱門文章
2025年加密貨幣市場十大趨勢預測:下一個風口在哪裡?
2025-11-07
By DDD
幣圈土狗項目如何識別?避免歸零幣的陷阱與風險預警
2025-11-07
By DDD
win10字體安裝後在軟件裡找不到怎麼辦_win10字體安裝與識別方法
2025-11-07
By DDD
高效處理PHP表單中動態數量的問答數據更新
2025-11-07
By DDD
如何從 USB 啟動 Windows 10:初學者指南
2025-11-07
By DDD





