I would personally recommend you stop using Map Reduce for this before you start (in reference to the other answers).
As a person who has had to do MongoDB JOINs in an actual production application I can tell you that Map Reduce is probably the worst method imaginable for this solution.
It was back in 2012 and it is now.
The only beneift you have in current versions of MongoDB is that many isolates can run concurrently instead of just one at a time (imagine single threaded JOINs across ALL connections in 2012 :\
, this was and is a terrible idea).
You want to implement this in the client side, pulling the records out all at once from the disparate collections and merging them within your application logic. That is the only real sure way to scale a JOIN in MongoDB.