You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MERN课程中User.findOne(...).lean.exec is not a function报错的解决

MERN项目中User.findOne().lean.exec()报错的解决办法

在YouTube的MERN课程编写userController.js时,用这段代码检查重复用户:

const duplicate = await User.findOne({ username }).lean.exec();

在Postman测试时触发报错:

"message": "User.findOne(...).lean.exec is not a function"

问题出在Mongoose方法的调用语法上:lean是需要执行的方法,不是属性,必须加上括号才能返回可链式调用的查询对象,直接写.lean.exec()会被当成访问lean属性下的exec方法,自然找不到对应的函数。

修正后的代码如下,补上lean()的括号即可:

// 检查用户是否存在,是否有重复
const duplicate = await User.findOne({ username }).lean().exec();

内容的提问来源于stack exchange,提问作者Tatyana Molchanova

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 18:53:10