我正在使用sequelize v2.0.0-alpha3和node.js v0.10.12。我尝试插入>我的表中有498条记录,我的应用程序因以下警告和错误而崩溃:
(节点)警告:检测到递归process.nextTick。这将在下一版本的节点中中断。请使用setImmediate进行递归递延。
RangeError:超出最大调用堆栈大小
有没有办法一次性插入> 498条记录?
我创建了一个简单的测试用例,发现它崩溃了> 498条记录:
//模型文件
module.exports = function(sequelize,DataTypes){
return sequelize.define('insertTest',
{
ID:{
type:DataTypes.INTEGER,
autoIncrement:true,
primaryKey:true,
get:function(){
return this.getDataValue('ID');
},
set:function(ID){
return this.setDataValue('ID',ID);
}
},
test:{
type:DataTypes.INTEGER,
get:function(){
return this.getDataValue('test');
},
set:function(test){
return this.setDataValue('test',test);
}
}
},
{
timestamps:false,
tableName: 'insertTest',
logging:false
}
)};
//控制器文件
app.get('/insertTest',function(request,response){
var value=[];
var len = parseInt(request.query.len);
for(var i=0;i<len;i++)
value.push(i);
insertTest
.bulkCreate(value,['test'])
.success(function(results){response.json('Success');})
.error(function(error){response.json(error);})
})