nextjs中间件无法连接数据库(mongodb)

mar*_*ius 5 mongodb node.js next.js

我的总体感觉是nextjs的中间件组件没有将所有资源加载到运行时中。我正在使用 next.js v17.0.x 。显然,在中间件上有一个不同的运行时,称为“边缘”运行,它似乎无法处理所有资源。

一旦我尝试建立与 mongodb 的连接,中间件将抛出此错误:

错误 - (中间件)/node_modules/next-session/lib/compat.js (1:0) @ Array.ExpressStore 错误 - Edge 运行时不支持 Node.js“事件”模块。

我的计划是在继续应用程序逻辑之前检查数据库会话(如果存在),所以基本上是在连接上。在我看来,中间件组件应该处理这个问题,如果没有会话持续存在,它应该重定向,还是我错了?

小智 2

Edge运行时目前不支持mongoose。如果你想使用它,可以参考mongoose的这篇文章。