NextAuthを使用して Web サービスを作成し、それを MongoDB データベースに接続しています。Google Auth でログインできるようになり、レコードがデータベースに正しく保存されます。次に、新しいモデルをデータベースに追加し、API ルートを介して追加する必要があります。
こちらの手順に従って、カスタム モデルを追加しました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
そこで、テスト文書を作成してみたいと思います。ただし、これを行う方法に関するドキュメントは見つかりません。データベース接続にアクセスする必要がありますが、「next-auth/adapters」、「next-auth/client」、「next-auth」、req などからインポートされたすべてをログに記録しようとしましたが、どこにも見つかりませんこの接続が保存されていること。TypeORM Adapter クラスに格納されている関数を呼び出す必要があると思いますがgetAdapter()
、アクセスできないようです。また、組み込みのメソッドのいずれかにアクセスしようとしましたが、setUser
それらも取得できません。そのため、データベース レコードを手動で変更する方法が見つかりません。