我目前正在使用 MongoDB 的 MapReduce 生成每小时广告查看次数,如下所示:
{ _id : "4/1/2011 9:00 AM", value : { AdViews_Total : 4 } }
这很好用,我在一个集合中得到结果,随后我可以比原始数据更快地查询。现在,我想做的是这样的:
{ _id : "4/1/2011 9:00 AM", value : { ByBrowser : { "Internet Explorer" : 4, "FireFox" : 4 } } }
为此,我认为我需要能够在 Reduce 操作中合并两个或多个不相交的文档,例如:
{ _id : "4/1/2011 9:00 AM", value : { ByBrowser : { "FireFox" : 3 } } }
{ _id : "4/1/2011 9:00 AM", value : { ByBrowser : { "FireFox" : 1 } } }
{ _id : "4/1/2011 9:00 AM", value : { ByBrowser : { "Internet Explorer" : 4 } } }
有谁知道这样的 Reduce 操作可能是什么样子,请记住浏览器名称事先不知道?