数据库

数据库是任何动态应用程序的核心,提供存储、检索和管理数据的必要基础设施。TanStack Start 使与各种数据库的集成变得简单,为管理应用程序的数据层提供了灵活的方法。

我应该使用什么?

TanStack Start 设计为与任何数据库提供商一起工作,因此如果您已经有首选的数据库系统,您可以使用提供的全栈 API 将其与 TanStack Start 集成。无论您使用的是 SQL、NoSQL 还是其他类型的数据库,TanStack Start 都能满足您的需求。

在 TanStack Start 中使用数据库有多简单?

在 TanStack Start 中使用数据库就像从 TanStack Start 服务器函数或服务器路由调用数据库的适配器/客户端/驱动程序/服务一样简单。

以下是如何连接数据库并对其进行读写操作的抽象示例:

tsx
import { createServerFn } from '@tanstack/react-start'

const db = createMyDatabaseClient()

export const getUser = createServerFn(async ({ ctx }) => {
  const user = await db.getUser(ctx.userId)
  return user
})

export const createUser = createServerFn(async ({ ctx, input }) => {
  const user = await db.createUser(input)
  return user
})
import { createServerFn } from '@tanstack/react-start'

const db = createMyDatabaseClient()

export const getUser = createServerFn(async ({ ctx }) => {
  const user = await db.getUser(ctx.userId)
  return user
})

export const createUser = createServerFn(async ({ ctx, input }) => {
  const user = await db.createUser(input)
  return user
})

这显然是人为设计的,但它演示了您可以在 TanStack Start 中使用任何数据库提供商,只要您可以从服务器函数或服务器路由调用它。

推荐的数据库提供商

虽然 TanStack Start 设计为与任何数据库提供商一起工作,但我们强烈建议考虑我们经过审查的合作伙伴数据库提供商之一:NeonConvex。它们已经过 TanStack 审查,符合我们的质量、开放性和性能标准,都是满足您数据库需求的绝佳选择。

什么是 Neon?

Neon logo

Neon 是一个完全托管的无服务器 PostgreSQL,具有慷慨的免费层。它将存储和计算分离,提供自动扩展、分支和无底存储。使用 Neon,您可以获得 PostgreSQL 的所有功能和可靠性,结合现代云功能,使其非常适合 TanStack Start 应用程序。

使 Neon 脱颖而出的关键功能:

  • 自动扩展的无服务器 PostgreSQL
  • 用于开发和测试的数据库分支
  • 内置连接池
  • 时间点恢复
  • 基于 Web 的 SQL 编辑器
  • 无底存储

  • 要了解更多关于 Neon 的信息,请访问 Neon 网站
  • 要注册,请访问 Neon 控制台

什么是 Convex?

Convex logo

Convex 是一个强大的无服务器数据库平台,简化了管理应用程序数据的过程。使用 Convex,您可以构建全栈应用程序,无需手动管理数据库服务器或编写复杂查询。Convex 提供实时、可扩展和事务性的数据后端,与 TanStack Start 无缝集成,使其成为现代 Web 应用程序的绝佳选择。

Convex 的声明式数据模型和自动冲突解决确保您的应用程序即使在大规模情况下也保持一致和响应。它设计为对开发者友好,专注于简单性和生产力。

文档和 API

将不同数据库与 TanStack Start 集成的文档即将推出!与此同时,请关注我们的示例和指南,了解如何在您的 TanStack Start 应用程序中充分利用数据层。