Se vuoi solo un elenco (distinto) dei tag, l'uso di distinti sarà il migliore. Map/Reduce sarà più lento e non potrà utilizzare un indice per la parte javascript.
http://docs.mongodb.org/manual/reference/ metodo/db.collection.distinct/
db.coll.distinct("tags", {type:1})
Restituirà un set di tag per type=1.