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

Node.js项目连接Mongoose时出现TypeError错误,寻求解决方案

Node.js项目连接Mongoose时出现TypeError错误,寻求解决方案

兄弟,我之前也碰到过一模一样的问题,你这个错误大概率是Mongoose和MongoDB Node.js驱动版本不兼容导致的——代码里尝试读取Collection.prototype但它是undefined,就是版本配对出问题的典型表现。

先把你遇到的错误信息贴出来方便大家参考:

/home/shafqat/Downloads/myProgramming/node_modules/mongoose/lib/drivers/node-mongodb-native/collection.js:278

for (const key of Object.keys(Collection.prototype)) {

TypeError: Cannot read properties of undefined (reading 'prototype')

at Object.<anonymous> (/home/shafqat/Downloads/myProgramming/node_modules/mongoose/lib/drivers/node-mongodb-native/collection.js:278:42)

给你几个亲测有效的解决方案,按顺序试试:

  • 彻底清理现有依赖后重新安装兼容版本
    先卸载当前的mongoose和mongodb包:

    npm uninstall mongoose mongodb
    

    然后直接安装最新稳定版的mongoose,它会自动匹配合适的mongodb驱动版本:

    npm install mongoose
    
  • 如果自动安装还是有问题,手动指定经过验证的兼容版本组合
    比如Mongoose 7.x搭配mongodb 5.x是很稳定的配对,执行:

    npm install mongoose@7.6.3 mongodb@5.9.1
    
  • 检查是否有依赖版本冲突
    有些第三方包可能会间接引入不同版本的mongodb,导致冲突。你可以用这个命令查看项目依赖树:

    npm ls mongodb
    

    如果发现多个版本的mongodb,就在package.json里添加overrides字段强制统一版本:

    "overrides": {
      "mongodb": "5.9.1"
    }
    

    然后彻底清理依赖文件后重新安装:

    rm -rf node_modules package-lock.json
    npm install
    
  • 最后别忘了重启你的Node.js项目,有时候依赖更新后需要重启才能生效!

备注:内容来源于stack exchange,提问作者Shafqat Baloch

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 07:03:07