Los documentos de MongoDB dicen que puede pasar un tiempo de espera booleano, y el tiempo de espera es falso, nunca se agotará
collection.find({"type" => "a"}, {:timeout=>false})
En su caso:
Record.collection.find({:type=>'a'}, :timeout => false).each ...
También te recomiendo que mires el mapa reducido con Mongo. Parece hecho a medida para este tipo de manipulación de matriz de colección:http://www.mongodb.org/display/DOCS/MapReduce