2011-05-14 81 views
0

我從數據庫(MongoDB的)獲取信息,然後將其轉換爲這樣的一個數組: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 

我想知道爲什麼,因爲我實在無法找出爲什麼所有的調試信息。 IT永遠持有「.to_a」,並且服務器被阻止。

請幫忙。

謝謝

回答

0

從我看到的,沒有理由RoR終止此循環。

如果可以,請嘗試將其初始化爲Kernel#Array。試試這個:

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

相反的:你的意思是指

arg = arg.to_a 
+0

?對不起,不瞭解 – donald 2011-05-14 17:12:41

+0

.to_a從哪裏來? – Lucius 2011-05-14 17:14:34

+0

我想這是一個RoR方法?轉換爲數組? – donald 2011-05-14 17:15:55