跳至内容
从 NextAuth.js v4 迁移?阅读 我们的迁移指南.
API 参考@auth/mongodb-adapter

@auth/mongodb-adapter

Auth.js / NextAuth.js 的官方 MongoDB 适配器。

安装

npm install @auth/mongodb-adapter mongodb

MongoDBAdapterOptions

这是 MongoDB 适配器选项的接口。

属性

collections?

optional collections: {
  Accounts: string;
  Sessions: string;
  Users: string;
  VerificationTokens: string;
};

的名称 MongoDB 集合.

Accounts?
optional Accounts: string;
Sessions?
optional Sessions: string;
Users?
optional Users: string;
VerificationTokens?
optional VerificationTokens: string;

databaseName?

optional databaseName: string;

要赋予 MongoDB 数据库的名称。

onClose()?

optional onClose: (client) => Promise<void>;

用于管理 MongoDB 客户端关闭的回调函数。当 client 作为返回 MongoClient | Promise<MongoClient> 的函数提供时,这可能很有用。它允许更自定义地管理数据库连接,解决持久性、容器重用和连接关闭问题。

参数
参数类型
客户端MongoClient
返回值

Promise<void>


defaultCollections

const defaultCollections: Required<Required<MongoDBAdapterOptions>["collections"]>;

格式

const format: {
  from: T;
  to: T & {
     _id: ObjectId;
  };
};

类型声明

from()

接受一个 MongoDB 对象并返回一个普通的 JavaScript 对象。

类型参数
类型参数
TRecord<string, unknown>
参数
参数类型
对象Record<string, any>
返回值

T

to()

接受一个普通的 JavaScript 对象并将其转换为一个 MongoDB 对象。

类型参数
类型参数
TRecord<string, unknown>
参数
参数类型
对象Record<string, any>
返回值

T & { _id: ObjectId; }


MongoDBAdapter()

MongoDBAdapter(client, options): Adapter

参数

参数类型描述
客户端MongoClient | Promise<MongoClient> | () => MongoClient | Promise<MongoClient>MongoDB 客户端。

MongoDB 团队建议提供一个未连接的 MongoClient 实例,以避免如果客户端无法连接则出现未处理的 Promise 拒绝。

或者,您也可以传递
- 解析为已连接的 MongoClient 的 Promise(不推荐)。
- 函数,以处理更复杂和自定义的连接策略。

使用返回 MongoClient | Promise<MongoClient> 的函数,结合 options.onClose,当您想要更高级和自定义的连接策略以解决与持久性、容器重用和连接关闭相关的挑战时,可能很有用。
选项MongoDBAdapterOptions-

返回值

适配器

Auth.js © Balázs Orbán 和团队 -2024