我创建了一个包含两个字段的登录表单
我在后台使用 next-auth 的电子邮件提供商,因此当他们填写这两个字段并单击“注册”时,默认情况下会在我的 MongoDB“用户”集合中自动创建一个文档,如下所示
email: 'theuseremail@something.com',
emailVerified: '2022-07-16T11:54:06.848+00:00'
Run Code Online (Sandbox Code Playgroud)
用户会收到一封电子邮件,其中包含用于登录网站的魔术符号链接。
我的问题如下: 我希望不仅能够存储用户电子邮件,还能够存储他们在填写注册表时选择的大学。但在我的 MongoDB 中默认创建的对象只有“email”和“emailVerified”字段。我无法找到一种方法来捕获其他数据(例如用户选择的大学)以在数据库中创建用户。
有什么明显的方法可以让我失踪吗?我环顾四周,但找不到任何可行的例子!任何帮助表示赞赏。
这是我的pages/api/[...nextAuth].js 文件:
import NextAuth from "next-auth"
import nodemailer from 'nodemailer'
import EmailProvider from 'next-auth/providers/email'
import { MongoDBAdapter } from "@next-auth/mongodb-adapter"
import clientPromise from "../../../utils/mongoClientPromise"
const THIRTY_DAYS = 30 * 24 * 60 * 60
const THIRTY_MINUTES = 30 * 60
export default NextAuth({
secret: process.env.NEXTAUTH_SECRET,
session: {
strategy: 'jwt',
maxAge: THIRTY_DAYS,
updateAge: THIRTY_MINUTES
},
adapter: MongoDBAdapter(clientPromise),
providers: [
EmailProvider({
server: {
host: …Run Code Online (Sandbox Code Playgroud)