Zum Hauptinhalt springen
Das Modul entities ermöglicht es dir, mit den Daten deiner App zu arbeiten. Jeder Entitätstyp in deiner App verfügt über Methoden zum Erstellen, Lesen, Aktualisieren und Löschen von Datensätzen. Du greifst über deinen Entitätsnamen auf Entitätsmethoden zu: base44.entities.YourEntityName.methodName(). Wenn du beispielsweise eine Task-Entität hast, verwendest du base44.entities.Task.list(), um eine Liste von Aufgaben zu erhalten.
Generiere TypeScript-Typen aus deinen Entitäten, um Autocomplete und Typsicherheit zu erhalten. Führe base44 types generate in deinem Projekt aus, und alle Entitätsfelder, Methoden und Rückgabetypen sind vollständig typisiert. Erfahre mehr über dynamische Typen.

Berechtigungen

Datenzugriff wird durch den Authentifizierungsmodus des Clients und die Berechtigungsregeln deiner App gesteuert. Du kannst die Berechtigungen für jede Entität in den Sicherheitseinstellungen deiner App konfigurieren. Erfahre mehr über das Ändern von Datenberechtigungen.
  • Anonyme Nutzer: Können nur auf als öffentlich markierte Entitäten zugreifen.
  • Authentifizierte Nutzer: Können auf Entitäten und Datensätze zugreifen, die sie basierend auf den konfigurierten Zugriffsregeln deiner App anzeigen oder ändern dürfen.
  • Service Role: Kann auf alle Entitäten und Datensätze zugreifen, die dem Admin der App zur Verfügung stehen.
In Backend-Code kannst du die Service Role verwenden, um mit Admin-Berechtigungen auf Daten zuzugreifen.

Datensätze erstellen

Verwende create(), um neue Datensätze zu einer Entität hinzuzufügen:
const newTask = await base44.entities.Task.create({
  title: "Complete documentation",
  status: "pending",
  dueDate: "2024-12-31",
});

Datensätze lesen

Rufe Daten mit get() für einen einzelnen Datensatz, list() für alle Datensätze oder filter() für Datensätze ab, die bestimmten Kriterien entsprechen. Verwende get() mit einer Datensatz-ID, um einen bestimmten Datensatz abzurufen:
const task = await base44.entities.Task.get(taskId);
Verwende list(), um alle Datensätze abzurufen. Die Methode unterstützt Sortierung, Paginierung und Feldauswahl:
const tasks = await base44.entities.Task.list();
Verwende filter(), um Datensätze zu finden, die bestimmten Kriterien entsprechen:
const pendingTasks = await base44.entities.Task.filter({
  status: "pending",
});

Datensätze aktualisieren

Verwende update(), um einen bestehenden Datensatz zu ändern:
await base44.entities.Task.update(taskId, {
  status: "completed",
});

Datensätze löschen

Verwende delete(), um einen einzelnen Datensatz zu entfernen:
await base44.entities.Task.delete(taskId);
Verwende deleteMany(), um mehrere Datensätze zu entfernen, die bestimmten Kriterien entsprechen:
const result = await base44.entities.Task.deleteMany({
  status: "completed",
  priority: "low",
});

Bulk-Operationen

Verwende bulkCreate(), um mehrere Datensätze in einer einzigen Anfrage zu erstellen:
const tasks = await base44.entities.Task.bulkCreate([
  { title: "Task 1", status: "pending" },
  { title: "Task 2", status: "pending" },
  { title: "Task 3", status: "in-progress" },
]);
Verwende importEntities(), um Datensätze aus einer CSV-Datei zu importieren. Das ist nützlich für die Migration von Daten oder Bulk-Uploads aus Benutzeroberflächen:
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() erfordert eine Browser-Umgebung und kann nicht in Backend-Code verwendet werden.

Realtime-Subscriptions

Verwende subscribe(), um Realtime-Updates zu empfangen, wenn Datensätze erstellt, aktualisiert oder gelöscht werden:
const unsubscribe = base44.entities.Task.subscribe((event) => {
  console.log(`Task ${event.id} was ${event.type}d`);
  console.log("Updated data:", event.data);
});

// Später die Subscription bereinigen
unsubscribe();

Datenzugriff mit Service Role

Standardmäßig ist der Datenzugriff auf die Berechtigungen des aktuellen Nutzers beschränkt. Mit Service-Role-Authentifizierung kannst du mit Admin-Berechtigungen auf Daten zugreifen. Das bedeutet, du kannst auf Daten zugreifen, auf die die Admin-Rolle in deiner App Zugriff hat. Verwende base44.asServiceRole.entities, um mit Admin-Berechtigungen auf Daten zuzugreifen:
// Nutzerebenen-Zugriff (auf Berechtigungen des aktuellen Nutzers beschränkt)
const myTasks = await base44.entities.Task.list();

// Service-Role-Zugriff (Admin-Berechtigungen)
const allTasks = await base44.asServiceRole.entities.Task.list();

User-Entität

Jede Base44-App enthält eine eingebaute User-Entität, die Nutzerkonto-Informationen speichert. Diese Entität hat spezielle Sicherheitsregeln:
  • Reguläre Nutzer können nur ihren eigenen Nutzerdatensatz lesen und aktualisieren
  • Mit Service-Role-Authentifizierung kannst du jeden Nutzer lesen, aktualisieren und löschen
  • Du kannst keine Nutzer über das entities-Modul erstellen – verwende stattdessen das auth-Modul
Du kannst Felder zur User-Entität hinzufügen, um zusätzliche Nutzerdaten zu speichern, und diese Felder dann in Sicherheitsregeln verwenden, um den Datenzugriff zu steuern, oder in deiner App, um das Erlebnis zu personalisieren. Details findest du unter User Schema.
const allUsers = await base44.asServiceRole.entities.User.list();

Mehr erfahren

entities-Modul

Vollständige API-Referenz

Base44 Client

Erfahre mehr über den Client und die Service Role
Diese Seite wurde mit KI übersetzt. Für die genauesten und aktuellsten Informationen siehe die englische Version.