col1、col2、WebsiteCode、CreatedDate、col3 ....、colnの多くの列を持つコレクションがあります。
CreatedDateの範囲でWebsiteCodeでグループ化したい。
私もです:
地図:
function Map() {
var key={WebsiteCode:this.WebsiteCode};
val={Count: 1};
emit(key,val);
}
減らす :
function Reduce(key, values) {
var res = {Total:0};
values.forEach(function(value) {
res.Total += value.Count;
});
return res;
}
そしてクエリ範囲DateTime:
{ "CreatedDate" : { "$gte" : dateFrom , "$lte" : dateTo } }
最後に、このmapreduceコマンドを実行します。Total = NaN
結果は、 Exを含む多くの行で期待したものとは異なります。{_id:{WebsiteCode:"websitecode1"}}, {value:{Total:NaN}}
しかし、countコマンドを実行すると:
db.collect.find({ "WebsiteCode" : "websitecode1", "CreatedDate" : { "$gte" : dateFrom), "$lte" : dateTo } }).count();
結果の戻り値:927
私が間違ったことを説明してもらえますか?