Ok, I believe the issue is the syntax of your query-
> db.campaign_raw_data_459_imp.mapReduce(map, reduce, {out: { replace : "garbage"}}, query={ts:1350585328})
should be,
> db.campaign_raw_data_459_imp.mapReduce(map, reduce, {out: { replace : "garbage"}, query: {ts:1350585328}})
to be more clear, the query should be in the same object as "out", i.e.-
{out: { replace : "garbage"}, query: {ts:1350585328}}
Your current MR command probably doesn't use the query and must scan all of the documents in the collection. The documentation admittedly doesn't do a great job illustrating the correct syntax, and I will see if we can make the docs more clear.
Please let me know if this resolves the problem.