Le problème est que vous passez 'portée' en tant que 'champs'.
Cela fonctionne :
db.variant_daily_collection.map_reduce(m, r, out="myoutput", query={"site_name": {'$in':['julie2.com','julie3.com','radiotiempo.com']}, 'timestamp': {'$gte':'20110601','$lte':'20110809'}}, scope={'variant_ids': ['4519','4518']})
Où m est votre fonction de carte d'en haut et r est votre fonction de réduction ci-dessus. Je viens d'insérer votre exemple de document trois fois pour tester.