通过NextAuth添加和使用新的数据库模型

问题描述

我正在使用NextAuth创建一个Web服务并将其连接到MongoDB数据库。现在,我可以使用Google Auth登录,并且记录已正确保存到我的数据库中。现在,我需要向数据库添加新模型,并通过API路由来添加它们。

我跟随these instructions添加自定义模型Test

Test.js

export default class Test {
  constructor(name) {
    if (name) {
      this.name = name;
    }
  }
}

export const TestSchema = {
  name: 'Test',target: Test,columns: {
    id: {
      // This property has `objectId: true` instead of `type: int` in MongoDB
      primary: true,type: 'int',generated: true,},name: {
      type: 'varchar',nullable: true,createdAt: {
      type: 'timestamp',createDate: true,updatedAt: {
      type: 'timestamp',updateDate: true,};

index.js

import Test,{ TestSchema } from './Test';

export default {
  Test: {
    model: Test,schema: TestSchema,};

我更新了 [... nextauth.js] ,将Test添加到我的适配器中

adapter: Adapters.TypeORM.Adapter(
  process.env.DATABASE_URL,{
    models: {
      Test: Models.Test,}
)

在这一点上,我没有看到任何错误,但是不确定是否已正确添加。因此,我想尝试创建一个测试Test文档。但是,我找不到有关操作方法的任何文档。我需要访问数据库连接,但是我尝试记录从“下一个身份验证/适配器”,“下一个身份验证/客户端”,“下一个身份验证”,req等导入的所有内容,但找不到任何地方该连接已存储。我认为我需要调用存储在TypeORM Adapter类中的getAdapter()函数,但似乎无法访问它。我还尝试访问setUser之类的任何内置方法,但都无法获取。因此,我找不到任何手动修改数据库记录的方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)