1

我有一个代码,它从一个 mongodb 的集合中获取所有记录,然后它执行一些计算。

我的程序花费了太多时间,因为“coll_id.find().each 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 的限制还是需要进行一些配置,以便代码可以立即访问所有记录。

4

1 回答 1

0

你的文件有多大?反序列化可能需要很长时间。您是否使用 C 扩展 (bson_ext)?

您可能想在连接时尝试传递记录器。这可以帮助我们对正在发生的事情进行分类。或者,您可以粘贴到 MongoDB 日志中吗?暂停期间发生了什么?

于 2011-01-26T17:36:15.000 回答