【发布时间】:2022-01-18 17:54:36
【问题描述】:
我有一个带有 mongoose 的 Next.js 应用程序来连接到我的 mongodb。模型导入 db.ts 以确保与数据库存在活动连接,如下所示:
import { model, models, Schema } from "mongoose";
import "../../db";
这是连接到我的数据库的代码:
import mongoose from "mongoose";
mongoose.connect("mongodb://admin:admin@localhost:27022/admin");
我已经在 next.js 中创建了一些无服务器功能,并添加了一些从我的 getServerSideProps 中的模型获取的数据库。所有这些都工作得很好。我可以与模型交互、创建新文档、删除它们并更新它们。没有问题。
问题
我最近添加了一个新组件:它位于/pages/flashcards/[id].tsx。就像我的其他组件一样,这个组件导入了我的一个猫鼬模型。 但是,出于某种原因,Webpack 感觉它应该将模型及其 ../../db 的导入捆绑在一起,然后将其发送并发送给客户端,从而导致此错误:
TypeError: mongoose__WEBPACK_IMPORTED_MODULE_0___default(...).connect 不是函数
再次重申:我的任何其他组件都不会发生这种情况,这些组件使用与出现这些问题的组件完全相同的模型。
【问题讨论】:
-
您能否显示
/pages/flashcards/[id].tsx页面组件的完整代码? -
@juliomalves 确定:github.com/janic0/study/blob/main/pages/flashcards/%5Bid%5D.tsx
标签: node.js mongodb mongoose webpack next.js