map reduce显示查找查询的不同输出

时间:2016-02-23 11:36:47

标签: mongodb mapreduce

我有两个查询在同一个集合上运行,一个使用find,另一个使用map reduce,两者都给出了不同的结果。

地图缩小

  db.customerTrend.mapReduce(function() {
    emit(this.value.trendDate, {
        count: 1
    })
}, function(key, values) {
    var sum = 0;
    values.forEach(function(value) {
        sum = sum + 1;
    });
    return {
        sum: sum
    }
}, {
    out: "totalByTrendDate"
})

输出

{ "_id" : null, "value" : { "sum" : 3 } }
{ "_id" : ISODate("2015-12-18T18:30:00Z"), "value" : { "sum" : 26 } }

查询查询

db.customerTrend.find({
    "value.trendDate": ISODate("2015-12-18T18:30:00Z")
}).count()

输出

30105

因此对于同一日期查找查询显示30105条记录,而地图缩减查询仅显示26条,但正确的查询显示查询。

0 个答案:

没有答案