Dokumen MongoDB mengatakan Anda dapat meneruskan boolean batas waktu, dan batas waktu itu salah, tidak akan pernah habis waktu
collection.find({"type" => "a"}, {:timeout=>false})
Dalam kasus Anda:
Record.collection.find({:type=>'a'}, :timeout => false).each ...
Saya juga menyarankan Anda melihat ke dalam peta yang dikurangi dengan Mongo. Tampaknya dibuat lebih khusus untuk manipulasi array koleksi semacam ini:http://www.mongodb.org/display/DOCS/MapReduce