我需要在MongoDB上的python代码中执行动态创建的map / reduce javascript函数(在python中我为map / reduce创建字符串-javascript代码)。如何在Python代码中调用这些字符串(javascript函数)并执行?
答案 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的结果。我在mapper
和reducer
中放置了一些虚拟代码来说明点。有关详细信息,请参阅pymongo
文档中的Map/Reduce Example。