Saltar al contenido principal
El módulo entities te permite trabajar con los datos de tu app. Cada tipo de entidad en tu app tiene métodos para crear, leer, actualizar y eliminar registros. Accedes a los métodos de entidad a través del nombre de tu entidad: base44.entities.YourEntityName.methodName(). Por ejemplo, si tienes una entidad Task, usas base44.entities.Task.list() para obtener una lista de tareas.
Genera tipos TypeScript a partir de tus entidades para obtener autocompletado y seguridad de tipos. Ejecuta base44 types generate en tu proyecto, y todos los campos, métodos y tipos de retorno de las entidades estarán totalmente tipados. Aprende más sobre tipos dinámicos.

Permisos

El acceso a los datos lo controlan el modo de autenticación del cliente y las reglas de permisos de tu app. Puedes configurar los permisos de cada entidad en los ajustes de seguridad de tu app. Aprende más sobre cambiar los permisos de datos.
  • Usuarios anónimos: solo pueden acceder a entidades marcadas como públicas.
  • Usuarios autenticados: pueden acceder a las entidades y registros que tienen permiso para ver o modificar según las reglas de acceso configuradas en tu app.
  • Service role: puede acceder a todas las entidades y registros disponibles para el administrador de la app.
En el código del backend, puedes usar el service role para acceder a datos con permisos de administrador.

Crear registros

Usa create() para añadir nuevos registros a una entidad:
const newTask = await base44.entities.Task.create({
  title: "Complete documentation",
  status: "pending",
  dueDate: "2024-12-31",
});

Leer registros

Recupera datos usando get() para un solo registro, list() para todos los registros, o filter() para los registros que coinciden con criterios específicos. Usa get() con un ID de registro para recuperar un registro específico:
const task = await base44.entities.Task.get(taskId);
Usa list() para recuperar todos los registros. El método admite ordenación, paginación y selección de campos:
const tasks = await base44.entities.Task.list();
Usa filter() para encontrar registros que coinciden con criterios específicos:
const pendingTasks = await base44.entities.Task.filter({
  status: "pending",
});

Actualizar registros

Usa update() para modificar un registro existente:
await base44.entities.Task.update(taskId, {
  status: "completed",
});

Eliminar registros

Usa delete() para eliminar un solo registro:
await base44.entities.Task.delete(taskId);
Usa deleteMany() para eliminar varios registros que coinciden con criterios específicos:
const result = await base44.entities.Task.deleteMany({
  status: "completed",
  priority: "low",
});

Operaciones masivas

Usa bulkCreate() para crear varios registros en una sola solicitud:
const tasks = await base44.entities.Task.bulkCreate([
  { title: "Task 1", status: "pending" },
  { title: "Task 2", status: "pending" },
  { title: "Task 3", status: "in-progress" },
]);
Usa importEntities() para importar registros desde un archivo CSV. Esto es útil para migrar datos o subir en bloque desde interfaces de usuario:
const handleFileUpload = async (event) => {
  const file = event.target.files?.[0];
  if (file) {
    const result = await base44.entities.Task.importEntities(file);
    console.log(`Imported ${result.output.length} records`);
  }
};
importEntities() requiere un entorno de navegador y no puede usarse en código del backend.

Suscripciones en tiempo real

Usa subscribe() para recibir actualizaciones en tiempo real cuando se crean, actualizan o eliminan registros:
const unsubscribe = base44.entities.Task.subscribe((event) => {
  console.log(`Task ${event.id} was ${event.type}d`);
  console.log("Updated data:", event.data);
});

// Later, clean up the subscription
unsubscribe();

Acceso a datos con service role

Por defecto, el acceso a los datos está limitado a los permisos del usuario actual. Con autenticación de service role, puedes acceder a los datos con permisos de nivel de administrador. Esto significa que puedes acceder a los datos a los que tiene acceso el rol de administrador en tu app. Usa base44.asServiceRole.entities para acceder a los datos con permisos de administrador:
// User-level access (limited to current user's permissions)
const myTasks = await base44.entities.Task.list();

// Service role access (admin-level permissions)
const allTasks = await base44.asServiceRole.entities.Task.list();

Entidad User

Cada app de Base44 incluye una entidad User integrada que almacena la información de la cuenta de usuario. Esta entidad tiene reglas de seguridad especiales:
  • Los usuarios normales solo pueden leer y actualizar su propio registro de usuario
  • Con autenticación de service role, puedes leer, actualizar y eliminar cualquier usuario
  • No puedes crear usuarios a través del módulo entities — usa el módulo auth en su lugar
Puedes añadir campos a la entidad User para almacenar datos de usuario adicionales y luego usar esos campos en las reglas de seguridad para controlar el acceso a los datos o en tu app para personalizar la experiencia. Consulta Esquema de User para más detalles.
const allUsers = await base44.asServiceRole.entities.User.list();

Más información

módulo entities

Referencia completa de la API

Cliente de Base44

Aprende sobre el cliente y el service role
Esta página se tradujo con IA. Para información más precisa y actualizada, consulta la versión en inglés.