Node.js使用MongoDB时出现mongodb.connect is not a function错误如何解决
问题原因
1. 依赖安装环节错误
- 命令执行顺序错误:
npm init -y是项目初始化命令,必须在所有依赖安装操作之前执行,你当前的执行顺序会导致依赖无法正确写入项目配置,安装路径也会出错。 - 包名拼写错误:安装MongoDB驱动时你执行的是
npm install mogodb,包名缺少字母n,拼写错误导致你没有成功安装官方的MongoDB Node.js驱动。 - 多余的link操作:本地项目直接安装依赖即可,执行
npm link mongodb会调用全局环境的mongodb包,大概率会出现版本不匹配的问题。
2. API调用不符合新版本规范
mongodb.connect()是MongoDB v3及更早版本驱动的用法,目前主流的v4、v5版本驱动已经移除了顶层的connect方法导出,正确的调用方式需要先引入MongoClient对象再执行连接操作。
修复步骤
- 删除当前项目根目录下的
node_modules文件夹和package-lock.json文件,清理错误的依赖安装内容。 - 按正确顺序执行如下命令:
# 初始化项目 npm init -y # 安装正确的依赖包 npm install express mongodb
- 修改你的MongoDB连接代码,参考正确示例:
const { MongoClient } = require('mongodb'); // 替换为你的MongoDB连接地址 const mongoUri = 'mongodb://localhost:27017'; const client = new MongoClient(mongoUri); async function connectDB() { try { await client.connect(); console.log('MongoDB连接成功'); // 此处编写后续数据库操作逻辑 } catch (err) { console.error('连接出错: ', err); } } connectDB();
内容的提问来源于stack exchange,提问作者Iva Ne
相关产品推荐
相关产品推荐

