我有一个代码,它从mongodb的集合中获取所有记录,然后执行一些计算。
我的程序花费了太多时间,因为“coll_id.find()。每个do | eachitem | .......”在瞬间只返回300条记录。
如果我在循环中放置一个计数器并检查它打印300条记录,然后在打印下一组300条记录的计数器值之前休眠约3至4秒。
coll_id.find().each do |eachcollectionitem|
puts "counter value for record " + counter.to_s
counter=counter +1
---- My computations here -----
end
这是ruby-mongodb api的限制还是需要进行一些配置,以便代码可以在一个瞬间访问所有记录。
答案 0 :(得分:0)
您的文件有多大? deseriaization可能需要很长时间。您使用的是C扩展名(bson_ext)吗?
您可能希望在连接时尝试传递记录器。这可以帮助我们解决正在发生的事情。或者,你可以粘贴MongoDB日志吗?暂停期间发生了什么?