15
按日期和數量MongoDB的映射減少度日日期的唯一身份/天
我的文檔
{ "_id" : ObjectId("4f956dee76ddb26752026e8f"), "request" : "default", "options" : "1", "keyword" : "somekey", "number" : "5b234b79-4d70-437e-8eef-32a2941af40a", "date" : "20120423200446", "time" : 1335193066 }
我的查詢
map = "function() { var date = new Date(this.time * 1000); var key = date.getFullYear() + date.getMonth() + date.getDate(); emit({day : key, number: this.number}, {count: 1}); }"
reduce = "function(key, values) { var count = 0; values.forEach(function(v) { count += v['count']; }); return {count: count}; }"
db.txtweb.mapReduce(map, reduce, {out: "pageview_results"});
我的錯誤
uncaught exception: map reduce failed:{ "errmsg" : "ns doesn't exist", "ok" : 0 }
試圖組
我無法弄清楚最新情況克,但我認爲這是做日期功能的東西。
任何想法。
ns不存在意味着您正在訪問不存在的數據庫或集合。檢查他們的名字......這是問題。謝謝 – Anand 2012-04-24 08:29:21
當我嘗試在nodejs錯誤中運行它時,出現以下錯誤:MongoError:exception:map invoke failed:JS錯誤:ReferenceError:clone 未定義nofile_b:1 – peter 2013-03-25 04:23:11
是的。克隆用於避免修改原始日期對象。我跳過了克隆功能的實現。你可以用這個來代替 - new Date(this.getTime()); – Anton 2013-03-25 09:03:38