How can I execute a JS script file from Pymongo?

2019-02-19 15:35发布

问题:

I have a MapReduce job for my MongoDB database implemented in a Javascript script file. I've tested it from the commandline and Mongo shell (load("MR_stack.js")). Now I'm using Pymongo within a larger application to access the Mongo database. How can I execute my MR_stack.js script from within Pymongo?

回答1:

The database object has an eval method:

http://api.mongodb.org/python/current/api/pymongo/database.html



回答2:

Well, your favorite option is to read existing documentation:

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



回答3:

from bson import Binary, Code

You can use this library for running your javascript mapreduce code like this

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

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

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