Tài liệu MongoDB cho biết bạn có thể vượt qua boolean thời gian chờ và thời gian chờ là sai, nó sẽ không bao giờ hết thời gian
collection.find({"type" => "a"}, {:timeout=>false})
Trong trường hợp của bạn:
Record.collection.find({:type=>'a'}, :timeout => false).each ...
Tôi cũng khuyên bạn nên xem xét thu nhỏ bản đồ với Mongo. Có vẻ như được thiết kế riêng cho kiểu thao tác mảng bộ sưu tập này:http://www.mongodb.org/display/DOCS/MapReduce