Sie können alle laufenden Jobs mit db.currentOp() abfragen.
Normalerweise hat ein Map/Reduce-Job ein paar Attribute, die Sie abfragen können.
Ein M/R-Job, den ich gerade ausgeführt habe, hatte die folgenden Statistiken:
"opid" : 258101377,
"active" : true,
"secs_running" : 4638,
"op" : "query",
"ns" : "<database>.<collectionname>",
"query": {
"mapreduce": "<collectionname>",
"map": function <randomname>() { ... },
"reduce": function <randomname>(k, v) { ... },
"out": { ... }
}
"msg": "m/r: (1/3) emit phase 1235099/11558528 10%",
"progress" : {
"done" : 1235099,
"total" : 11558528
},
...
Das sollten Sie suchen! Besonders das "msg"-Attribut, das sagt, wie der M/R-Fortschritt ist.