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

Mongoose调用model的find方法报find is not a function错误如何解决?

问题排查及修复方案
  • 首先校验模块导入路径是否正确
    你在file B中使用的导入路径为../server/models/section,需要确认file B的实际存放位置和section模型文件的相对路径是否匹配。路径错误会导致导入的Section为undefined或空对象,自然不存在find方法。你可以在导入语句后加一行打印代码验证:
const Section = require("../server/models/section");
console.log(Section) // 正常应该输出mongoose模型构造函数,如果是undefined/空对象就是导入路径错误
  • 修正Schema字段拼写错误
    你定义shop字段时,将required错写为requred,该错误虽不会直接引发find is not a function报错,但会导致后续保存数据时出现字段校验异常,需要修正:
// 修正前
shop: { type: String, requred: true }
// 修正后
shop: { type: String, required: true }
  • 排查循环依赖问题
    如果你的项目中存在section模型文件和其他文件互相require的情况,会导致模型还未完成初始化就被导出,导入后拿到的是空对象,没有对应的模型方法。
  • 确认Mongoose连接状态
    调用Section.find()时如果Mongoose还未完成和MongoDB的连接,也可能出现模型方法丢失的问题,建议确保Mongoose连接成功后再调用模型的操作方法,示例:
mongoose.connect('你的MongoDB连接地址')
.then(() => {
  // 连接成功后再执行模型操作
  new Toto().save()
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 07:27:04