Os documentos do MongoDB dizem que você pode passar um booleano de tempo limite, e o tempo limite é falso, nunca atingirá o tempo limite
collection.find({"type" => "a"}, {:timeout=>false})
No seu caso:
Record.collection.find({:type=>'a'}, :timeout => false).each ...
Eu também recomendo que você procure no mapa-reduzido com o Mongo. Parece feito para esse tipo de manipulação de matriz de coleção:http://www.mongodb.org/display/DOCS/MapReduce