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

MongoDB连接报错:TypeError: Db.connect is not a function 求助

解决MongoDB连接错误:TypeError: Db.connect is not a function

这个错误是因为你使用的MongoDB Node.js驱动版本(3.x及以上)已经废弃了Db.connect方法,旧的连接方式不再被支持。

修正后的代码

直接使用驱动提供的MongoClient.connect方法来建立连接,这是新版本推荐的方式:

const { MongoClient } = require('mongodb');

exports.connect = function(mongoUri, callback) {
    console.log('Connecting to Mongo DB using URI: ' + mongoUri);
    MongoClient.connect(mongoUri, function(err, client) {
        if (err) {
            console.error('Error while connecting to Mongo DB: ' + JSON.stringify(err));
            callback(null);
            return;
        }
        console.log('Successfully connected to Mongo DB');
        // 获取连接对应的数据库,URI中指定了库名则自动匹配,也可手动传入库名如client.db('your-db-name')
        const db = client.db();
        callback(db);
    });
}

exports.MongoConnector = function(db, collectionName) {
    this.db = db;
    this.collectionName = collectionName;
}

关键说明

  • 新版本驱动中,MongoClient是官方推荐的连接入口,替代了旧的Db对象的连接方法
  • 连接成功后返回的是client实例,必须通过client.db()才能获取到数据库对象
  • 若你的连接URI包含数据库名称(格式如mongodb://host:port/db-name),client.db()会自动关联该数据库;否则需要手动传入数据库名称

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 15:10:22