2013-08-16 76 views
0

希望測試在數據庫中插入新文檔的速度mongodb, 但是,當插入量非常大時,它將返回以下錯誤: 「RangeError:Maximum call堆棧大小超過「 誰能告訴我爲什麼我收到的消息?RangeError:超出最大調用堆棧大小Nodejs mongoose

var counters2Schema = new mongoose.Schema({'_id': ObjectId, 'seq':String}, { versionKey: false, collection: 'counters' }), 

var k = 100000; 
testCUPwrite function (i) { 
     var MyObjectId = mongoose.Types.ObjectId; 
     MyObjectId = new MyObjectId(); 
     var counters2Model = new mongoose.model("counters", counters2Schema); 
     new counters2Model({'seq': MyObjectId}). save(); 
     console.log ('teste_' + MyObjectId); 
     if (i <k) { 
         i + +; 
         setTimeout (testCUPwrite (i), 1); 
     } 

} 
testCUPwrite (0); 

謝謝

回答

0

這條線:

setTimeout (testCUPwrite (i), 1); 

是不是做你認爲它是。直接執行當前棧中的testCPUWrite函數。它不像你所想的那樣使用setTimeout。類似於

setTimeout(testCUPwrite.bind(null, i), 1); 

可能會讓你走。

相關問題