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

调用mongodb.connect时出现TypeError错误是什么原因?

错误产生原因
  • 你实际运行的server.js第8行代码调用了mongodb.getConnection()方法,该方法在官方MongoDB Node.js驱动的所有版本中都不存在,你贴出的代码片段和实际运行的代码存在出入,是导致该报错的直接原因。
  • 若确认代码中没有调用getConnection,则大概率是MongoDB驱动导入错误、安装损坏,或是你使用的驱动版本和参考的API文档版本不匹配导致的API调用异常。
解决方法
  1. 首先打开/Users/auston.ivison/Desktop/todo-app/server.js文件,定位到第8行,删除对mongodb.getConnection的调用,改为正确的连接方法。
  2. 确认MongoDB驱动的导入方式正确,正确导入语句如下:
// 全量导入
const mongodb = require('mongodb')
// 更推荐的按需导入方式
const { MongoClient } = require('mongodb')
  1. 不同版本的驱动连接写法有所区别,可根据你的版本选择对应写法:
    • 3.x版本回调式写法(和你贴出的代码逻辑一致):
    const { MongoClient } = require('mongodb')
    MongoClient.connect(connectionString, {
      useNewUrlParser: true, 
      useUnifiedTopology: true
    }, function(err, client) {
      if (err) throw err
      const db = client.db()
      app.listen(3000)
    })
    
    • 4.x及以上版本推荐的Promise式写法:
    const { MongoClient } = require('mongodb')
    const client = new MongoClient(connectionString)
    
    async function initApp() {
      await client.connect()
      const db = client.db('你的数据库名称')
      app.listen(3000)
    }
    initApp().catch(console.error)
    
  2. 如果上述操作后仍报错,执行命令重新安装驱动:
    npm uninstall mongodb && npm install mongodb

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 19:42:02