npm.io
1.1.1 • Published yesterday

@tile.js/database

Licence
MIT
Version
1.1.1
Deps
1
Size
84 kB
Vulns
0
Weekly
71

Tile.JS Database

Uma camada de persistência tipada para Node.js e Bun com:

  • adapter local padrão em BSON
  • schemas com validação e metadados
  • suporte a adapters customizados
  • integrações para MongoDB e Mongoose

Instalação

npm install @tile.js/database

Ou com Bun:

bun add @tile.js/database

Se você quiser usar adapters externos, instale também a dependência correspondente no seu projeto:

npm install mongodb
npm install mongoose

Exemplo rápido

import { Database, Schema } from "@tile.js/database";

interface User {
  _id?: string;
  name: string;
  email: string;
}

const userSchema = new Schema<User>({
  name: { type: String, required: true, trim: true },
  email: { type: String, required: true, unique: true, lowercase: true },
});

const connection = new Database({
  dbName: "app",
});

const database = Object.assign(connection, {
  users: connection.collection<User>("users", userSchema),
});

await database.users.create({
  name: "Israel",
  email: "ISRAEL@GMAIL.COM",
});

const user = await database.users.findOne({
  email: "israel@gmail.com",
});

console.log(user);

Adapters

A lib expõe os seguintes adapters:

  • @tile.js/database/adapters/default
  • @tile.js/database/adapters/mongodb
  • @tile.js/database/adapters/mongoose

O adapter local é o padrão da lib. Os adapters de MongoDB e Mongoose utilizam o client/connection fornecido pelo consumidor final.

Documentação

Documentação completa:

https://tile.js.org/docs/database/get-started

Keywords