Dokumenty MongoDB říkají, že můžete projít booleovským časovým limitem a časový limit je nepravdivý, nikdy nevyprší
collection.find({"type" => "a"}, {:timeout=>false})
Ve vašem případě:
Record.collection.find({:type=>'a'}, :timeout => false).each ...
Také vám doporučuji podívat se na mapu zmenšenou s Mongo. Zdá se, že je to přizpůsobené tomuto druhu manipulace s polem kolekce:http://www.mongodb.org/display/DOCS/MapReduce