Zum Hauptinhalt springen
connic
Platform

Database

Jedes Environment enthält eine verwaltete, schemalose Datenbank. Daten werden in benannten Collections gespeichert, mit umfangreichen Filtern abgefragt und im Dashboard angezeigt. Migrationen, Schema-Setup und externes Hosting entfallen.

Zuletzt aktualisiert
Collections
Gruppiere Dokumente in benannten Collections. Namen müssen mit einem Buchstaben beginnen und dürfen nur Kleinbuchstaben, Ziffern und Unterstriche enthalten, maximal 50 Zeichen.
Ohne Setup, automatisch erstellt
Collections werden bei Bedarf erstellt, sobald db_insert oder db_upsert über die Database Tools erstmals Daten darin speichert.
Umfangreiche Filter
Filtere mit $eq, $ne, $gt, $gte, $lt, $lte, $in, $nin, $and, $or, $nor, $not, $exists, $contains, $elemMatch, $regex und $near für Umkreissuchen. Sortiere die Ergebnisse, teile sie in Seiten auf, wähle einzelne Felder aus oder ermittle alle unterschiedlichen Werte eines Feldes.

Datenmodell

Dokumente können beliebige Felder enthalten und benötigen kein festes Schema. Drei Felder werden vom System verwaltet:

  • _id: automatisch generierte UUID, eindeutig innerhalb der Collection
  • _created_at: beim Einfügen gesetzter Zeitstempel im ISO-8601-Format
  • _updated_at: bei jedem Schreibvorgang gesetzter Zeitstempel im ISO-8601-Format
document-shape.py
# Jedes Dokument enthält neben eigenen Daten diese Systemfelder:
{
    "order_id": "ORD-001",
    "status":   "pending",
    "amount":   99.50,
    "_id":         "550e8400-e29b-41d4-a716-446655440000",  # automatisch erzeugte UUID
    "_created_at": "2026-01-15T10:30:00Z",
    "_updated_at": "2026-01-15T10:30:00Z",
}

Automatische Erstellung

Collections müssen nicht explizit erstellt werden. Der erste Aufruf von db_insert oder db_upsert erstellt sie automatisch.

tools/orders.py
# Kein Setup erforderlich: Die Collection "orders" wird automatisch erstellt,
# sobald db_insert oder db_upsert erstmals darin schreibt
result = await db_insert("orders", {
    "order_id": "ORD-001",
    "customer": "alice@example.com",
    "amount":   99.50,
    "status":   "pending",
})

Collections lassen sich auch manuell im Dashboard unter Storage → Database erstellen.

Dokumente importieren

Befülle eine Collection einmalig mit vorhandenen Daten, etwa mit den Datensätzen einer App, die zu connic wechselt. Ein Import füllt eine neue oder leere Collection und erstellt sie bei Bedarf. Danach lesen und schreiben Agents die Daten über die Database Tools.

  • Formate: ein JSON-Array aus Objekten oder JSONL mit einem Objekt pro Zeile. Leere Zeilen werden übersprungen.
  • Größe: bis zu 25 MB pro Datei über die REST API und das Dashboard, bis zu 512 KiB über das MCP Tool import_database_documents.
  • Alles oder nichts: Ein ungültiges Dokument lässt den gesamten Import scheitern, und es wird nichts geschrieben.
  • Nur leere Collections: Ein Import in eine Collection, die bereits Dokumente enthält, schlägt mit 409 Conflict fehl. Um die Daten zu ersetzen, lösche die Collection und importiere erneut.
  • Rate Limit: 50 Import-Anfragen pro Environment in jedem Zeitraum von 24 Stunden, fehlgeschlagene eingeschlossen. Weitere Anfragen erhalten 429 Too Many Requests mit einem Retry-After Header in Sekunden.
  • Jedes importierte Dokument erhält eigene Werte für _id, _created_at und _updated_at. Bewahre IDs aus dem alten System in einem normalen Feld auf, etwa legacy_id.
import.sh
curl -X POST "https://api.connic.co/v1/projects/{project_id}/database/{environment_id}/collections/orders/import" \
  -H "Authorization: Bearer cnc_your_api_key" \
  -F "file=@orders.jsonl"

# 201 Created
{"name": "orders", "imported_count": 1250}

Dashboard

Der Tab Storage → Database im Projekt-Dashboard bietet folgende Funktionen:

  • alle Collections mit Dokumentanzahl und Speichergröße anzeigen
  • Dokumente mit Filter- und Sortieroptionen durchsuchen
  • Filter und Sortierreihenfolge aus natürlich formulierten Anfragen generieren
  • Dokumente manuell einfügen
  • eine JSON- oder JSONL-Datei in eine leere Collection importieren
  • das abgeleitete Schema mit Feldnamen, Typen und Anteil ausgefüllter Felder anzeigen
  • Collections erstellen und löschen
Der Tab Storage → Database im Dashboard: Eine Collections Sidebar listet customers (3), incidents (2) und orders (3). Daneben ist die Collection customers mit 3 docs und 56.0 KB ausgewählt; ihr Browse Tab zeigt drei Dokumente in einer Tabelle mit den Spalten id, name, tier, health, created_at und updated_at.
Der Database Tab: links Collections mit ihrer Dokumentanzahl, rechts die Dokumente der ausgewählten Collection.
Der Schema Tab der Collection customers: Eine Tabelle der abgeleiteten Felder health, id, name und tier, jeweils vom Typ string, mit einem Anteil ausgefüllter Felder von 100 % und Beispielwerten wie enterprise und pro.
Der Schema Tab leitet den Typ jedes Feldes und den Anteil der Dokumente, in denen es ausgefüllt ist, aus einer Stichprobe der Dokumente in der Collection ab.