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

使用connect-mongo@6.0.0连接MongoDB Atlas遇构造函数错误求助

解决"MongoStore is not a constructor/function"错误(connect-mongo@6.0.0)
  • 问题根源:connect-mongo@6.x版本采用ES模块规范导出,在CommonJS环境下直接require会拿到整个模块对象,而非MongoStore类本身,导致调用create方法时出错。
  • 修复方案:修改导入语句,通过.default获取模块的默认导出:
const session = require("express-session");
// 关键修改:添加.default获取MongoStore类
const MongoStore = require('connect-mongo').default;

const store = MongoStore.create({
    mongoUrl: dbUrl,
    crypto: {
        secret: "mysupersecretcode",
    },
    touchAfter: 24 * 3600,
});

store.on("error", (err) => { 
    console.log("ERROR in MONGO SESSION STORE", err);
});

const sessionOptions = {
    store,
    secret: "mysupersecretcode",
    resave: false,
    saveUninitialized: true,
    cookie: {
        expires: Date.now() + 7 * 24 * 60 * 60 * 1000,
        maxAge: 7 * 24 * 60 * 60 * 1000,
        httpOnly: true
    }
};
  • 替代方案:如果你的项目配置了ES模块(package.json中设置"type": "module"),可以改用import语法:
import session from "express-session";
import MongoStore from "connect-mongo";

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 10:03:12