nodejs超出最大的调用栈错误问题
今天早上老大和我说之前项目里面的那个数据要改动,要对 mongodb 中每条记录进行 update 操作,你写个脚本跑一下吧。然后,我默默的回到电脑前,努力工作的一天又开始了。所以考虑使用 mongodb 的 cursor 游标来进行遍历修改。程序实现的代码大致如下然后让它慢慢跑吧,可是一个令我郁闷的事情发生了。哎,排查代码,开始填坑。发现我上面递归调用了modify() ,而且递归次数有点小多,可能是函数不断的递归调用导致它的调用栈不断的增加,然后越来越大,最终就没有然后了,爆栈了。但是运行有点慢啊,因为我每次都让它跳出递归调用栈了。这样虽然没问题但是没必要,因为400多万才会出现爆栈呢。加个计数器吧,等调用栈有点大的时候在跳出来。
下载地址
用户评论