MongoDB 适配器

将 Better Auth 与 MongoDB 集成。

MongoDB 是一种流行的 NoSQL 数据库,广泛用于构建可扩展且灵活的应用程序。它提供了灵活的模式,便于数据建模和查询。

在开始之前,请确保您已安装并配置好 MongoDB。更多信息,请参见 MongoDB 文档

安装

要使用 MongoDB 适配器,您需要安装 @better-auth/mongo-adapter 包:

npm install @better-auth/mongo-adapter

示例用法

您可以使用 MongoDB 适配器连接到数据库,如下所示。

auth.ts
import { betterAuth } from "better-auth";
import { MongoClient } from "mongodb";
import { mongodbAdapter } from "better-auth/adapters/mongodb";

const client = new MongoClient("mongodb://localhost:27017/database");
const db = client.db();

export const auth = betterAuth({
  database: mongodbAdapter(db, {
    // 可选:如果不提供 client,将无法启用数据库事务。
    client
  }),
});

模式生成与迁移

对于 MongoDB,我们不需要生成或迁移模式。

连接查询(实验性)

数据库连接查询在 Better-Auth 需要从多个表中一次性获取相关数据时非常有用。 像 /get-session/get-full-organization 等端点非常受益于这一功能, 根据数据库延迟,可实现 2 倍至 3 倍以上的性能提升。

MongoDB 适配器从版本 1.4.0 起开箱即用支持连接查询。 要启用此功能,需要在您的 auth 配置中将 experimental.joins 选项设置为 true

auth.ts
import { betterAuth } from "better-auth";

export const auth = betterAuth({
  experimental: { joins: true }
});

其他信息

  • 如果您想了解性能提升或优化技巧,请查看我们的 性能优化指南