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

导入MongoClient时出现pkFactory错误的技术求助

解决MongoClient导入导致的语法错误问题

问题背景

我有一个简单的app.js文件,代码如下:

import express from 'express';
import bodyParser from 'body-parser';
// import session from 'express-session';
// import path from 'path';
import dotenv from 'dotenv';
import { MongoClient } from 'mongodb/lib';
// import { readdirSync } from 'fs';
// import { connectDatabase } from './config/database.mjs';
// import connectRedis from './config/redis.js';

const uri = process.env.MONGODB_URI;

dotenv.config();

const app = express();
const port = process.env.PORT || 3000;

app.use(bodyParser.json());

只要取消注释MongoClient的导入语句,就会收到以下错误:

pkFactory: db.options?.pkFactory ?? utils_1.DEFAULT_PK_FACTORY,

环境信息:

  • Node版本:v18.12.1
  • NPM版本:8.19.12
  • mongodb包版本:^5.7.0

我正在遵循MongoDB官方的Node.js原生驱动连接指南。

解决方法

修改MongoClient的导入路径,替换为官方指定的正确导入方式:

import { MongoClient } from 'mongodb';

原因说明

你错误地从mongodb/lib这个内部模块路径导入了MongoClient,该路径不属于驱动的公开API范畴。直接引用内部模块会绕过驱动的正常导出逻辑,导致加载过程中出现代码语法或模块依赖的异常。

官方指南中明确要求从mongodb包根目录导入MongoClient,这样才能加载驱动的正确入口文件,确保所有依赖和语法都能被你的Node.js环境正确解析。

内容的提问来源于stack exchange,提问作者Mr. Bannable

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 04:52:33