如何在MapReduce函数中查询并使用其它集合的数据
常用在统计的场景中,例如有两个集合“产品分类”和“产品清单”
分类和清单是一对多关系,当我想通过MapReduce对产品清单进行统计的时候,需要针对分类的属性进行分组,也就是说这时需要查询分类的信息,这种情况如何实现?
类似这样的SQL语句:
select pt.main_type,count(*) prod_num
from prod_type pt inner join prod_list pl on pt.type_id=pl.type_id
group by main_type
我试过,直接在map函数中使用db.xxx.find() 查询失败,提示db未定义
或者用DBRef在map中fetch,也会失败,也是提示db未定义
求高手支个招
分类和清单是一对多关系,当我想通过MapReduce对产品清单进行统计的时候,需要针对分类的属性进行分组,也就是说这时需要查询分类的信息,这种情况如何实现?
类似这样的SQL语句:
select pt.main_type,count(*) prod_num
from prod_type pt inner join prod_list pl on pt.type_id=pl.type_id
group by main_type
我试过,直接在map函数中使用db.xxx.find() 查询失败,提示db未定义
或者用DBRef在map中fetch,也会失败,也是提示db未定义
求高手支个招
...全文
相关推荐
MongoDB学习笔记之MapReduce使用示例
如果没有限制,使用`sort`的效果可能会有限。在给定的示例中,MapReduce操作创建了一个名为"user"的集合,并针对其中的用户数据执行了MapReduce任务。
Mongodb中MapReduce实现数据聚合方法详解
了解和掌握 MapReduce 的原理和使用方法,对于有效地管理和分析 MongoDB 数据库中的数据至关重要。
MongoDB中MapReduce的使用方法详解
:```javascriptvar reduce = function(key, values) { return Array.sum(values);};```运行MapReduce操作并查询结果:`
MongoDB中MapReduce编程模型使用实例
它适合于执行那些无法用单一查询语句解决的复杂数据聚合任务。通过Map函数处理数据,并将结果映射为键值对,然后通过Reduce函数对这些键值对进行归约操作,从而得到最终结果。
MongoDB的MapReduce.pdf
然而,需要注意的是,MapReduce可能不适合实时查询,因为它通常涉及磁盘I/O和内存消耗,对于性能要求高的场景,可以考虑使用其他数据处理方法,如聚合框架或MongoDB的TTL索引等。


