Ir al contenido

MongoDB

@rebasepro/server-mongo implementa el BackendBootstrapper de Rebase para MongoDB. La API REST, el SDK generado, el panel de administración y la superficie de autenticación funcionan sobre él.

pnpm add @rebasepro/server-mongo
import { rebase } from "@rebasepro/server";
import { createMongoBootstrapper } from "@rebasepro/server-mongo";
rebase({
backend: createMongoBootstrapper({ url: process.env.DATABASE_URL! })
});

Establezca DATABASE_URL con una cadena de conexión de MongoDB (mongodb://… o mongodb+srv://…).

API de datos La superficie REST completa: list, get, create, update, delete, filtros, ordenación, paginación
SDK generado El mismo cliente tipado que en Postgres
Tiempo real Change streams. Esto requiere un replica set; un mongod independiente (standalone) no tiene oplog al que hacer seguimiento, por lo que el tiempo real no estará disponible de forma silenciosa allí
Historial Basado en snapshots, con la misma estructura que en Postgres
Autenticación Toda la superficie de autenticación, con sus repositorios almacenados en MongoDB
Panel de administración Colecciones, formularios, relaciones en la UI, campos de almacenamiento
  • Sin seguridad a nivel de fila. Consulte la advertencia anterior. Este es el punto importante.
  • Sin superficie SQL. El editor SQL de Studio, el editor de políticas RLS y pnpm rls:check son características de Postgres y no están disponibles.
  • Sin integridad relacional. Una relación es una referencia almacenada que la aplicación resuelve; no hay claves foráneas, por lo que nada a nivel de base de datos impide que quede una referencia huérfana.
  • Sin rebase db push / generate / migrate. MongoDB no tiene un esquema que migrar. Las colecciones se crean a medida que se escriben los documentos.

Elija MongoDB cuando los datos tengan verdaderamente forma de documento y el modelo de autorización resida en su aplicación de todos modos. Elija PostgreSQL cuando desee que sea la propia base de datos la que determine quién ve cada fila, que es el argumento que Rebase defiende en todo el resto de este sitio.