RavenDB在分组后返回多个相同的MapReduce结果

时间:2012-08-28 13:29:08

标签: mapreduce ravendb

我的地图:

docs.Visits.Select(obj => new {
    Year = obj.MetaData.CreatedDate.Year,
    Month = obj.MetaData.CreatedDate.Month,
    Day = obj.MetaData.CreatedDate.Day,
    MediaSource = ((System.String)(obj.MediaSource)),
    Version = ((System.String)(obj.Version)),
    Count = 1
})

我的减少:

results.GroupBy(result => new {
    Year = result.Year,
    Month = result.Month,
    Day = result.Day,
    MediaSource = result.MediaSource,
    Version = result.Version
}).Select(agg => new {
    Year = agg.Key.Year,
    Month = agg.Key.Month,
    Day = agg.Key.Day,
    MediaSource = agg.Key.MediaSource,
    Version = agg.Key.Version,
    Count = Enumerable.Sum(agg, x => ((System.Int32)(x.Count)))
})

示例查询:

Year: 2012 AND Month: 8 AND Day: 22

然而,我得到了重复的项目,有时甚至计数是相同的,有时候它们只有计数不同。 Visit集合中的数据集大约有200,000个文档,所以没什么。我重新添加了索引,重新设置了它,但仍然是相同的奇怪行为。

我的意思是我实际上得到了多张相同的地图缩小版,如下所示:

{
  "Year": "2012",
  "Month": "8",
  "Day": "22",
  "MediaSource": null,
  "Version": null,
  "Count": "7701"
}

当我将它们分组时,这怎么可能呢?年,月,日,MediaSource和版本?如果没有“分组”,那么群组有什么意义呢?在某些日期,当天所有计数的总和实际上高于数据库中访问文档的总量。

我做错了什么?

Database Server Build 960,Client Build 888。 .NET RavenDB客户端1.2.2068。

0 个答案:

没有答案