如何让NextAuth的MongoDB适配器使用指定数据库名?
解决NextAuth MongoDB适配器指定自定义数据库名的问题
要让NextAuth的MongoDB适配器使用你在.env.local中配置的自定义数据库名,只需在初始化MongoDBAdapter时传入包含dbName的配置对象即可,具体操作如下:
确认环境变量可读取
确保.env.local里的DB_NAME配置有效,Next.js服务端代码可直接通过process.env.DB_NAME读取该变量(无需添加NEXT_PUBLIC_前缀)。修改适配器初始化代码
在authOptions中给MongoDBAdapter添加第二个参数,传入指定数据库名的配置对象:
import clientPromise from "../../../lib/mongodb" export const authOptions: NextAuthOptions = { adapter: MongoDBAdapter(clientPromise, { dbName: process.env.DB_NAME }), // 保留你的其他NextAuth配置项... }
完成以上修改后,NextAuth的用户数据就会存入你指定的my-app-db数据库,而非默认的test库。
内容的提问来源于stack exchange,提问作者a53-416
相关产品推荐
相关产品推荐

