【发布时间】:2012-04-05 20:59:10
【问题描述】:
我需要在 MongoDB 上的 python 代码中执行动态创建的 map/reduce javascript 函数(在 python 中,我为 map/reduce 创建 strings-javascript 代码)。如何在 Python 代码中调用这些字符串(javascript 函数)并执行?
【问题讨论】:
我需要在 MongoDB 上的 python 代码中执行动态创建的 map/reduce javascript 函数(在 python 中,我为 map/reduce 创建 strings-javascript 代码)。如何在 Python 代码中调用这些字符串(javascript 函数)并执行?
【问题讨论】:
您将需要使用pymongo.code.Code 来实例化Code 对象,使用您的Javascript 代码作为单个字符串参数,方法如下:
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 了解更多信息。
【讨论】: