如何从Pymongo执行JS脚本文件?

问题描述:

我有一个MapReduce作业,用于在JavaScript脚本文件中实现的MongoDB数据库。我已经从命令行和Mongo shell中进行了测试(load("MR_stack.js"))。现在我在更大的应用程序中使用Pymongo来访问Mongo数据库。我如何从Pymongo内部执行我的MR_stack.js脚本?如何从Pymongo执行JS脚本文件?

那么,你最喜欢的选择是读取现有文档:

http://api.mongodb.org/python/2.1/examples/map_reduce.html

+2

感谢您的指针。该页面中描述的方法创建函数对象,用于从Pymongo调用MapReduce。我想知道如何从Pymongo内部执行通用脚本。 – 2012-04-19 16:27:16

+1

(更新6.2016)现在文档说:*警告:在MongoDB 3.0中不推荐使用eval命令,并将在未来的服务器版本中删除。* – darkless 2016-06-30 11:01:04

从BSON进口二进制,代码

你可以使用这个库来运行你的javascript mapreduce代码,比如t他的

map = code("""your mapreduce code""") 

reducer = code("""your mapreduce code""") 

emp = db.orders.map_reduce(mapper, reducer, "moid_details")