JSON-Schema mit dynamischem Schlüsselfeld in MongoDB
Möchten Sie eine i18n-Unterstützung für Objekte haben, die in der Mongodb-Sammlung gespeichert sind?
Derzeit ist unser Schema wie folgt:
{
_id: "id"
name: "name"
localization: [{
lan: "en-US",
name: "name_in_english"
}, {
lan: "zh-TW",
name: "name_in_traditional_chinese"
}]
}
Aber ich denke, dass das Feld "lan" einzigartig ist. Kann ich dieses Feld nur als Schlüssel verwenden, so würde die Struktur sein
{
_id: "id"
name: "name"
localization: {
"en-US": "name_in_english",
"zh-TW": "name_in_traditional_chinese"
}
}
Das wäre übersichtlicher und einfacher zu analysieren (nur die Lokalisierung [Sprache] würde den Wert erhalten, den ich für eine bestimmte Sprache möchte).
Aber dann ist die Frage: Ist dies eine gute Vorgehensweise beim Speichern von Daten in MongoDB? Und wie wird der JSON-Schema-Check bestanden?