如果你看到这里 相信你在博客视频中 或多或少遇到了这样的问题 :
我也遇到了~
(node:13804) UnhandledPromiseRejectionWarning: TypeError: pagination(...).find(...).page(...).size(...).display(...).populate(...).exce is not a function
报错代码:
// 523 在现有的代码 let article 上进行更改
// page 指定当前页
// size 指定每页显示的数据条数
// dispaly 指定客户端要显示的页码数量
// exec 向数据库中发生查询请求
let articles = await pagination(Article).find().page(1).size(2).display(3).populate('author').exec();
res.send(articles);
由于视频中老师并没有说明会碰到这个情况 , 只好上网搜索解决办法:解决方法:
// 523 在现有的代码 let article 上进行更改
// page 指定当前页
// size 指定每页显示的数据条数
// dispaly 指定客户端要显示的页码数量
// exec 向数据库中发生查询请求
let articles = await pagination(Article).find().page(1).size(2).display(3).populate('author').exec();
// 加了这行代码
articles = JSON.parse(JSON.stringify(articles));
res.send(articles);
( 猜测和自己的理解,大佬勿喷 以下仅为自己的理解 错了还请斧正:报错中提到了promise 对象 , 猜到可能是数据库mongoose文档对象哪里出了问题 , 可小白对mongoose本身就一知半解 , 只知道 JSON.stringify() 和 JSON.parse() 能转为字符串并把其他属性去掉,只保留字符串数据)