MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mehrsprachige Attribute in MongoDB

Großhandelsempfehlungen für Ihr Schemadesign sind hier möglicherweise ein etwas weit gefasstes Diskussionsthema. Ich kann jedoch vorschlagen, dass Sie die angezeigten Elemente in ein Array einfügen von untergeordneten Dokumenten, anstatt des einzelnen untergeordneten Dokuments mit Feldern für jedes Element.

{ 
    sku: "1011",
    name: [{ "en": "cheese" }, {"de": "Käse"}, {"es": "queso"}, etc... ],
    price: [{ "usd": 30.95 }, { "eur": 20 }, { "aud": 40 }, etc... ]
} 

Der Hauptgrund dafür ist die Berücksichtigung von Zugriffspfaden zu Ihren Elementen, die die Abfrage erleichtern sollten. Dies habe ich hier ausführlich durchgegangen das könnte Ihre Lektüre wert sein.

Es könnte auch eine Möglichkeit sein, dies für etwas wie Ihr Namensfeld zu erweitern:

    name: [
        { "lang": "en", "value": "cheese" },
        { "lang": "de", "value: "Käse"  },
        { "lang": "es", "value": "queso" },
        etc...
    ]

Alles hängt von Ihren Indizierungs- und Zugriffsanforderungen ab. Es hängt wirklich alles davon ab, was genau Ihre Anwendung benötigt, und das Schöne an MongoDB ist, dass Sie damit Ihre Dokumente nach Ihren Bedürfnissen strukturieren können.

P.S. Zu allem, wo Sie Geld aufbewahren Werte, ich schlage vor, Sie lesen sich etwas ein und beginnen vielleicht mit diesem Beitrag hier:

MongoDB – Was ist mit dem Dezimaltyp von Wert?