猫鼬超过了Nodejs的最大调用堆栈大小
Posted
技术标签:
【中文标题】猫鼬超过了Nodejs的最大调用堆栈大小【英文标题】:Nodejs Maximum call stack size exceeded with mongoose 【发布时间】:2016-04-22 23:22:04 【问题描述】:我正在尝试调用集合中的所有元素,它给出了超出最大调用堆栈大小的错误。代码如下。
router.get('/users',counsellorValidate, function(req, res, next)
users.find(,function(err,user)
res.render('counsellor/counsellorHome','userData':user,'user':req.session.user);
);
);
数据库模式如下。
var userSchema = new Schema(
first_name:
type: String,
required: true
,
last_name:
type: String,
required: true
,
email:
type: String,
required: true,
unique: true
,
altEmail:
type: String,
,
password:
type: String,
required: true,
,
phone:
mobile:Number,
isd:Number,
std:Number,
landline:Number
,
dob:Date,
address:
line1:String,
line2:String,
city:String,
state:String,
country:String,
pin:String
,
fb:String,
twitter:String,
linkedIn:String,
blog:String,
skype:String,
maritial:String,
gender:String,
profile:
name:String,
original_name:String
,
summary:String,
resume:
name:String,
original_name:String
,
education: [
school_name:String,
city:String,
state:String,
board:String,
marks:String,
year:String,
medium:String,
specialization:String,
mode :String
],
scores :
gre:Number,
gmat:Number,
sat:Number,
ielts:Number,
toefl:Number,
pte:Number
,
_email:
type:Boolean,
required:true,
default:false
,
_approved:
type:Boolean,
required:true,
default:false
,
);
我尝试增加堆栈大小,但它给出了分段错误代码转储错误。
【问题讨论】:
删除了答案,因为它并不真正相关。但是,由于您达到了最大调用堆栈大小,我认为您正在循环中调用某个函数,而该函数并未在您期望的时候结束。这发生在我身上,问题最终是没有在某处调用的回调。我认为您可能需要发布更多代码才能将其置于上下文中。 我设法解决了这个问题。问题出在痛饮上。 swig 抛出了这个错误,因为有一个未初始化的变量。 很高兴听到你把它整理好了! 【参考方案1】:我设法解决了这个问题。问题出在痛饮上。 swig 抛出了这个错误,因为有一个未初始化的变量。
【讨论】:
以上是关于猫鼬超过了Nodejs的最大调用堆栈大小的主要内容,如果未能解决你的问题,请参考以下文章
猫鼬:UnhandledPromiseRejectionWarning:RangeError:超出最大调用堆栈大小
mongoose-nodejs 导致超出最大调用堆栈大小,在 mongoose save()
Docker 容器的最大调用堆栈大小超过了 npm install