sql >> Database >  >> NoSQL >> MongoDB

Meertalige attributen in MongoDB

Groothandelsaanbevelingen over uw schemaontwerp kunnen hier een beetje breed worden besproken. Ik kan u echter aanraden om de elementen die u laat zien in een Array . te plaatsen van subdocumenten, in plaats van het enkelvoudige subdocument met velden voor elk item.

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

De belangrijkste reden hiervoor is aandacht voor toegangspaden aan uw elementen, wat het opvragen gemakkelijker zou moeten maken. Dit heb ik hier in detail doorgenomen die het lezen waard kan zijn.

Het zou ook een mogelijkheid kunnen zijn om dit uit te breiden voor zoiets als je naamveld:

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

Alles zou afhangen van uw indexerings- en toegangsvereisten. Het hangt allemaal echt af van wat uw toepassing precies nodig heeft, en het mooie van MongoDB is dat u uw documenten kunt structureren naar uw behoeften.

P.S. Over alles waar je Geld opslaat waarden, raad ik je aan wat te lezen en misschien met dit bericht hier te beginnen:

MongoDB - Hoe zit het met het decimale type van waarde?




  1. Laatste record op datum voor elk item mongodb-groep

  2. Use cases voor NoSQL

  3. Alleen specifieke velden invullen in mangoest

  4. hoe u een alleen-lezen-query uitvoert op een shard-replicaset in mongodb