sql >> Databasteknik >  >> NoSQL >> MongoDB

Flerspråkiga attribut i MongoDB

Grossistrekommendationer över din schemadesign kan vara ett lite brett ämne för diskussion här. Jag kan dock föreslå att du överväger att placera elementen du visar i en Array av underdokument, snarare än det singulara underdokumentet med fält för varje objekt.

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

Den främsta anledningen till detta är hänsyn till åtkomstvägar till dina element vilket borde göra det lättare att fråga. Detta gick jag igenom i detalj här vilket kan vara värt att läsa.

Det kan också vara en möjlighet att utöka detta för något som ditt namnfält:

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

Allt skulle bero på dina indexerings- och åtkomstkrav. Allt beror verkligen på vad din applikation behöver, och det fina med MongoDB är att det låter dig strukturera dina dokument efter dina behov.

P.S. När det gäller allt där du lagrar pengar värden, jag föreslår att du läser lite och kanske börjar med det här inlägget här:

MongoDB – Vad sägs om decimaltyp av värde?




  1. Kopiera databas i Mongoose

  2. hur ställer man in nyckel med var i mongoose,Node.js?

  3. java.lang.IncompatibleClassChangeError:Implementerar klass Mongo

  4. Hur gör jag MongoDB-fråga till en JSON?