【发布时间】:2019-07-05 19:04:09
【问题描述】:
我正在处理一个庞大的项目,许多函数相互调用
我遇到了这个错误:RangeError: Maximum call stack size exceeded
完整的错误:
/Users/mohsen/Desktop/GP/Source/node_modules/lodash.get/index.js:561
返回 reIsPlainProp.test(值) || !reIsDeepProp.test(值) ||RangeError: 超出最大调用堆栈大小 在 RegExp.test () 在 isKey (/Users/mohsen/Desktop/GP/Source/node_modules/lodash.get/index.js:561:24) 在 baseGet (/Users/mohsen/Desktop/GP/Source/node_modules/lodash.get/index.js:458:10) 在获取(/Users/mohsen/Desktop/GP/Source/node_modules/lodash.get/index.js:927:45) 在 isBsonType (/Users/mohsen/Desktop/GP/Source/node_modules/mongoose/lib/utils.js:150:10) 在克隆(/Users/mohsen/Desktop/GP/Source/node_modules/mongoose/lib/utils.js:210:7) 在 cloneObject (/Users/mohsen/Desktop/GP/Source/node_modules/mongoose/lib/utils.js:270:11) 在克隆(/Users/mohsen/Desktop/GP/Source/node_modules/mongoose/lib/utils.js:196:16) 在 cloneObject (/Users/mohsen/Desktop/GP/Source/node_modules/mongoose/lib/utils.js:270:11) 在克隆(/Users/mohsen/Desktop/GP/Source/node_modules/mongoose/lib/utils.js:196:16) 在 cloneObject (/Users/mohsen/Desktop/GP/Source/node_modules/mongoose/lib/utils.js:270:11) 在克隆(/Users/mohsen/Desktop/GP/Source/node_modules/mongoose/lib/utils.js:196:16) 在 cloneObject (/Users/mohsen/Desktop/GP/Source/node_modules/mongoose/lib/utils.js:270:11) 在克隆(/Users/mohsen/Desktop/GP/Source/node_modules/mongoose/lib/utils.js:196:16) 在 cloneObject (/Users/mohsen/Desktop/GP/Source/node_modules/mongoose/lib/utils.js:270:11) 在克隆(/Users/mohsen/Desktop/GP/Source/node_modules/mongoose/lib/utils.js:196:16) 在 cloneObject (/Users/mohsen/Desktop/GP/Source/node_modules/mongoose/lib/utils.js:270:11) 在克隆(/Users/mohsen/Desktop/GP/Source/node_modules/mongoose/lib/utils.js:196:16) 在 cloneObject (/Users/mohsen/Desktop/GP/Source/node_modules/mongoose/lib/utils.js:270:11) 在克隆(/Users/mohsen/Desktop/GP/Source/node_modules/mongoose/lib/utils.js:196:16) 在 cloneObject (/Users/mohsen/Desktop/GP/Source/node_modules/mongoose/lib/utils.js:270:11) 在克隆(/Users/mohsen/Desktop/GP/Source/node_modules/mongoose/lib/utils.js:196:16)
在尝试将新文档保存到我的 mongo DB 时恰好触发了此错误
调用下面的函数
saveOrder({data});
函数实现
function saveOrder(data)
{
var order = new Order(data);
order.save();
}
任何建议 - 为什么我会遇到这个问题??
--- 更新 ---
评论 order.save();解决问题
现在这条线的问题
order.save();
【问题讨论】:
-
你的
Order架构是什么?你在那里定义了一些方法吗?喜欢pre-save -
@molamk 架构 {X : Array} 中的此属性可能存在问题 - 调用它时 {X: [ { id: 'ID1', function1: [Function], function2: [Function ], id: [Circular] }, { id: 'ID2', function1: [Function], function2: [Function], id2: [Circular] } ]}
-
您能否更新问题以包含架构?谢谢
-
{data} 将创建一个类似 {'data': data} 的对象,并且您的架构必须以这种方式定义。即{数据:}。我认为这是您出错的地方,因此您必须调用 saveOrder(data) 之类的方法,但是,共享您的架构和数据对象。