De MongoDB-documenten zeggen dat je een time-out boolean kunt doorgeven, en de time-out is onwaar, er zal nooit een time-out optreden
collection.find({"type" => "a"}, {:timeout=>false})
In jouw geval:
Record.collection.find({:type=>'a'}, :timeout => false).each ...
Ik raad je ook aan om te kijken naar kaartverkleind met Mongo. Het lijkt op maat gemaakt voor dit soort manipulatie van verzamelingsarrays:http://www.mongodb.org/display/DOCS/MapReduce