解决Mongoose中populate方法导致模板引擎art-template无法渲染的问题,错误-RangeError: Maximum call stack size exceeded
问题定位:
产生原因:
目前只知道因为populate()方法导致该现象,但具体是怎么导致的还未知
解决方案:
方案一:
可以在查询链上使用lean()。告诉mongoose返回普通对象 不返回mongoose文档对象
// 解决方案1: // 使用lean() let articleData = await Article.find().populate('author').lean();
方案二:
先通过JSON.stringify()这个方法将文档对象转为字符串,将他的其他属性全部格式掉,只需要留下需要的数据字符串即可!
然后再通过JSON.parse()这个方法转为对象,这个方法虽然丢失效率,但是暂时解决问题,后面有更好的解决方案或者楼主得到了原因会更新解决方法和方案!代码附上,希望了解该问题的大神能提点一二!
参考链接
https://www.cnblogs.com/jeacy/p/13560379.html
https://blog.csdn.net/qq_40659195/article/details/88411838