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,我们不需要生成或迁移模式。

Joins

数据库 joins 在 Better-Auth 需要通过单个查询从多个表中获取相关数据时非常有用。像 /get-session/get-full-organization 以及许多其他端点都能从此功能中大幅受益,根据数据库延迟的不同,性能提升可达 2 倍至 3 倍。

MongoDB 适配器从版本 1.4.0 开始开箱即用地支持 joins。要启用此功能,请在您的 auth 配置中将 advanced.database.joins 设置为 true

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

export const auth = betterAuth({
  advanced: {
    database: {
      joins: true,
    },
  },
});

更多信息

  • 如果您正在寻找性能改进或优化建议,请查看我们的 性能优化指南。