Schön! Das Beispiel ist ja nicht von mir.
Ist das nun die vollständige Lösung mit passenden Längen?
Dein Ansatz ist verständlich, aber ich weiß nicht, ob es ein gute Entscheidung ist. Vielleicht ist alles übersichtlich genug und der Aufwand hält sich in Grenzen.
Letztlich ist MongoDB nicht nur die Feldlänge egal, auch die Struktur des Dokuments. Wenn man in Delphi damit arbeitet, sollte man sich also vielleicht in diese Richtung bewegen. MongoDB hat letztlich kein nennenswertes Verhalten eines RDBMS, das für Struktur oder Zusicherung von Eigenschaften sorgt. Die Struktur der Dokumente wird eigentlich nur durch die Anwendung definiert. Sobald man 2 Anwendungen gegen eine
DB schreibend einsetzt, beginnt dann der Eiertanz. Es ist dann maximal als Konvention zu bezeichnen, welche Daten wie in der
DB stehen, vielleicht auch eher nur als Wette.
Wenn Du Delphi einsetzen möchtest, wäre es vielleicht sinnvoll, eine REST
API zu entwerfen und zu implementieren. Das macht aber auch eigentlich auch nur Sinn, wenn alle "Apps" diese benutzen, statt im Direktzugriff in die MongoDB zu schreiben.
Hier ist noch ein Thread mit "Material"
https://www.delphipraxis.net/181405-nosql-mongodb.html