v1.2adapters/sqlite
Tile.JS
Tile.JS
Adapters

Introdução

Escolha o backend de persistência certo sem trocar a API principal do Tile.

Adapters

O sistema de adapters separa a API de documentos do backend de persistência.

Em outras palavras, Database, Schema e Collection continuam os mesmos, enquanto o storage pode ser local, MongoDB, Mongoose ou qualquer implementação compatível com StorageAdapter.

Comparação rápida

AdapterQuando usarDependências extrasPersistência de schemaLifecycle próprio
Default (BSON local)desenvolvimento local, CLIs, apps pequenas e médiasnenhuma_schema.json em discoflush local
MongoDBquando você quer usar o driver oficialmongodb_tile_schemas opcionalmanageClient
Mongoosequando o projeto já depende de Mongoosemongoose_tile_schemas opcionalmanageConnection
SQLite (Node.js)quando você quer usar o driver oficialbetter-sqlite3_tile_schemas opcionalmanageConnection
SQLite (Bun)quando você quer usar o driver oficialbun:sqlite3_tile_schemas opcionalmanageConnection
Customintegrações própriasdepende do seu backenddepende do adapterdepende do adapter

Formas de importar

import { defaultAdapter } from "@tile.js/database";
import { mongodbAdapter } from "@tile.js/database/adapters/mongodb";
import { mongooseAdapter } from "@tile.js/database/adapters/mongoose";
import { sqliteAdapter } from "@tile.js/database/adapters/sqlite";
import {
  defaultAdapter,
  mongodbAdapter,
  mongooseAdapter,
  sqliteAdapter,
} from "@tile.js/database/adapters";

Semântica do Tile continua valendo

Os adapters trocam o backend, mas não transformam a biblioteca em um ODM nativo do MongoDB ou do Mongoose. Filtros continuam simples, e operações como find(), countDocuments(), deleteMany() e paginate() seguem a semântica do Tile.

Qual adapter escolher?

O que permanece igual entre adapters

  • Schema continua sendo o centro da validação e normalização
  • _id, __v e timestamps continuam seguindo as regras do Tile
  • create, findOne, updateOne, upsert, deleteMany e paginate continuam com a mesma API
  • collection() e model() continuam funcionando da mesma forma

Próximo passo

On this page