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

使用Hono+TypeScript集成Mongoose时遇connect不是函数错误求助

解决Mongoose connect不是函数的问题

情况1:普通Node.js环境

  • 确认项目模块类型:在项目根目录的package.json中添加或确保存在:
    "type": "module"
    
    这会让Node.js将.js/.ts文件当作ES模块处理,适配Mongoose的导出规则。
  • 调整导入语句:如果仍报错,将Mongoose的导入改为命名导入:
    import * as mongoose from "mongoose";
    
    之后再调用mongoose.connect()即可正常使用。
  • 检查Mongoose版本:确保安装的是支持ES模块的版本(v6及以上),可重新安装最新版:
    npm install mongoose@latest
    

情况2:Cloudflare Workers环境(匹配你的错误提示)

Mongoose依赖Node.js核心模块(如net、fs),而Cloudflare Workers边缘运行时不支持这些模块,无法直接使用Mongoose,可改用以下方案:

  • 使用MongoDB官方驱动:
    先安装驱动:
    npm install mongodb
    
    再用以下代码连接数据库:
    import { Hono } from "hono";
    import { MongoClient } from "mongodb";
    
    const app = new Hono();
    const client = new MongoClient("你的MongoDB连接字符串");
    
    client.connect()
      .then(() => console.log("Connected To DB"))
      .catch(err => console.log(err));
    
    app.get("/", (c) => {
      return c.text("Hello Hono!");
    });
    
    export default app;
    
  • 注意事项:建议用环境变量存储MongoDB连接字符串,避免硬编码;若需要ODM功能,可寻找兼容边缘环境的库(如@mongodbatlas/model)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 22:32:38