问题描述
我在 node express 项目中使用了passport-google-oauth20,但在尝试保存在mongoose db 中时出错。
这是我的: Index.js
这是我的 console.log:
运行在 3000 上的服务器
连接到数据库
(node:11188) UnhandledPromiseRejectionWarning: MongooseError: Operation users.insertOne()
缓冲在 10000 毫秒后超时
at Timeout.<anonymous> (C:\Users\Admin\Desktop\code-fellows\node_modules\mongoose\lib\drivers\node-mongodb-native\collection.js:185:20)
at listOnTimeout (internal/timers.js:554:17)
at processtimers (internal/timers.js:497:7)
(node:11188) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。这个错误要么是因为在没有 catch 块的情况下抛出了异步函数,要么是因为拒绝了一个没有用 .catch() 处理过的承诺。要在未处理的承诺拒绝时终止节点进程,请使用 CLI 标志 --unhandled-rejections=strict
(请参阅 https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。 (拒绝编号:3)
(节点:11188)[DEP0018] 弃用警告:不推荐使用未处理的承诺拒绝。将来,未处理的承诺拒绝将以非零退出代码终止 Node.js 进程。
解决方法
似乎代码不喜欢 mongoose Atlas 密码,它不是 URL 编码的。我将密码更改为 Atlas 的建议密码并编辑了我的 mongoURI,它开始正常工作。