Mongodb仅在下一个js中连接一次

far*_*had 2 database mongodb next.js

我刚刚开始使用 Next js。我的问题是,在 Express 项目中,我们有一次与数据库的连接,并将其放在程序的主文件中,即 app.js。但据我所知,在 Next js 中,与数据库的连接必须位于 api 文件内。这不是会导致每次调用api时都要重新连接吗?是否需要有像 app.js 这样的文件才能连接到其中的 mongo?谢谢

小智 5

创建一个单独的文件并在该文件中添加以下代码。

import mongoose from 'mongoose';

const connection = {}

const dbConnect = async () => {
    if (connection.isConnected) return

    const db = await mongoose.
        connect(process.env.DB_URL, { useNewUrlParser: true, useUnifiedTopology: true })

    connection.isConnected = db.connections[0].readyState
}
export default dbConnect
Run Code Online (Sandbox Code Playgroud)

现在只需在每个执行数据库操作的地方调用 dbConnect() 函数即可。