在Python / PyMongo map / reduce中执行JavaScript代码

时间:2012-03-21 10:44:54

标签: mapreduce pymongo

我需要在MongoDB上的python代码中执行动态创建的map / reduce javascript函数(在python中我为map / reduce创建字符串-javascript代码)。如何在Python代码中调用这些字符串(javascript函数)并执行?

1 个答案:

答案 0 :(得分:1)

您需要使用pymongo.code.Code,使用您的Javascript代码将Code对象实例化为单个字符串参数,方法如下:

maper = Code('function () { for (var key in this) { emit(key, 1); }}')
reducer = Code('function(key, values) { return 1; }')
result = collection.map_reduce(maper, reducer, 'results')

其中result是一个Collection实例,其中包含map / reduce的结果。我在mapperreducer中放置了一些虚拟代码来说明点。有关详细信息,请参阅pymongo文档中的Map/Reduce Example