Tessera docs

Launch Tessera

Launch

Database

Queries

Read and write typed data with the generated client: filters, sorting, pagination and mutations.

Reading rows

TypeScript
const recent = await db.tasks  .where({ done: false })  .orderBy("createdAt", "desc")  .limit(20)  .all()

Filters

Pass an object for equality, or use operators like gt, in and like for everything else.

TypeScript
import { gt, like } from "tessera" await db.projects.where({ seats: gt(10), name: like("Acme%") }).all()

Pagination

Use cursor pagination for lists that grow. page() returns the rows and a nextCursor you pass to the next call.

TypeScript
const { rows, nextCursor } = await db.tasks.page({ size: 50 })const next = await db.tasks.page({ size: 50, after: nextCursor })

Writing rows

const task = await db.tasks.insert({ title: "Ship docs", projectId })

Rules run on every query

Queries from the browser are checked against your row-level rules, so the same code is safe on the client and the server.

Was this helpful?

© 2026 Tessera, Inc.

Support

Status

Create a free website with Framer, the website builder loved by startups, designers and agencies.