2012-08-23 44 views
2

我試圖通過我的node.js服務器向我的mongoDB實例中插入一個2000 x 2000 2d數組。node.js上的程序2d數組mongoDB插入內存不足

現在,我做的方法是:

for (i=0; i<2000; i++){ 
      //i = height of the tile map 
      for(x=0; x<2000; x++){ 
       //x is the width of the tile map 
       driver.mongo.insert('worldTiles', {loc: [x,i], elevation: obj.server.theArray[i][x]}, function (err,results){ 
        if(!err){ 

        }else{ 
         console.log('Ran into an error inserting into worldTiles on Mongo'); 
        } 
       }) 
      } 
      console.log(i); 
     } 

現在,我面臨的問題是,在大約576行我的node.js例如減慢顯着(一行每40秒處理左右),然後耗盡內存。我不明白這是怎麼發生的。

我正確接近這個問題嗎?關於如何將這個二維數組放入我的數據庫而不會陷入困境的任何想法?

感謝您的幫助。

+0

這是什麼mongodb驅動程序?我不熟悉'driver.mongo.insert'語法。 – JohnnyHK

+0

這是一個非常基本的私有驅動程序,只是包裝nativeParser。 我可以嘗試與另一個驅動程序...任何你推薦? – Mavorus

+0

標準的10gen支持JavaScript的一個:https://github.com/mongodb/node-mongodb-native – JohnnyHK

回答

1

看起來問題在於我的mongoDB實例的提供者。我剛剛發現,在jitsu上假脫機mongo實例時,內存使用量的大小有一個〜64MB的限制。因此,就在那時,我得到了「內存不足」的錯誤。

希望他們會以某種方式作出錯誤信息有點更具描述性的,包括什麼設備是運行內存... 卷眼睛

案件關閉。