Search code examples
pythonmongodbpymongopipeline

Is there an equivalent of redis command pipeline in MongoDB?


I am debugging a slow API endpoint in a web app which uses mongodb as storage. It turns out the request send 8 different queries to MongoDB, and group the data together to return. The MongoDB lives on another host, so the request involves 8 roundtrips.

These 8 requests don't have any dependency among themselves, so if I can send the 8 queries in a batch, or in parallel, a lot of time can be saved.

I am wondering if Mongo supports something like Redis's pipeline, or maybe send a script (like a lua script in Redis) for fetching data, so that I can get all data in one go?

If not, is there a way to send the querys in parallel? (The app is based on python/tornado/pymongo)


Solution

  • AFAIK, there is no pipeline-like mechanism in MongoDB.

    I would try using server-side scripts.