MongoDB记录到阵列永远需要

时间:2011-05-14 17:10:25

标签: ruby-on-rails-3 mongodb heroku mongohq

我从数据库(MongoDB)获取信息,然后将其转换为类似的数组:

 @bs = coll.find("headers.from" => { "$regex" => email, "$options" => 'i' }, "date" => {"$gte" => initial_date, "$lte" => Time.now.utc})
      puts "a seguir ao fetch"


      puts @bs

      @bs = @bs.to_a

这很有效,但有时,它只是进入一个无限循环(我相信),因为它崩溃了我的heroku应用程序。

响应(第一行是@bs的打印):

2011-05-14T17:05:46+00:00 app[web.1]: DBResponse(flags=, cursor_id=, start=)

2011-05-14T17:06:16+00:00 heroku[router]: Error H12 (Request timeout) -> GET yapi.heroku.com/api/v1/69399ead0ed4ded38e7a101f7c8faf/2011-2-1.json dyno=web.1 queue=0 wait=0ms service=0ms bytes=0
2011-05-14T17:06:47+00:00 heroku[router]: Error H12 (Request timeout) -> GET yapi.heroku.com/favicon.ico dyno=web.1 queue=0 wait=0ms service=0ms bytes=0
2011-05-14T17:07:10+00:00 heroku[router]: Error H12 (Request timeout) -> GET yapi.heroku.com/api/v1/69399ead0ed4ded38e7a101f7c8faf/2011-2-1.json dyno=web.1 queue=0 wait=0ms service=0ms bytes=0
2011-05-14T17:07:17+00:00 heroku[router]: Error H12 (Request timeout) -> GET yapi.heroku.com/api/v1/69399ead0ed4ded38e7a101f7c8faf/2011-2-1.json dyno=web.1 queue=0 wait=0ms service=0ms bytes=0
2011-05-14T17:07:51+00:00 heroku[router]: Error H12 (Request timeout) -> GET yapi.heroku.com/api/v1/69399ead0ed4ded38e7a101f7c8faf/2011-2-1.json dyno=web.1 queue=0 wait=0ms service=0ms bytes=0

我想知道为什么,因为我真的无法找到所有调试信息的原因。它只是永久保留“.to_a”,服务器被阻止。

请帮忙。

由于

1 个答案:

答案 0 :(得分:0)

据我所知,RoR没有理由终止此循环。

如果可以,请尝试将其初始化为内核#Array。试试这个:

Array([1,2,3]) #=> [1, 2, 3]
Array(123) #=> [123]

而不是:

arg = arg.to_a