MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Многоезични атрибути в MongoDB

Препоръките на едро относно дизайна на вашата схема може да са малко широка тема за обсъждане тук. Мога обаче да ви предложа да обмислите поставянето на елементите, които показвате, в масив на поддокументи, а не на отделния поддокумент с полета за всеки елемент.

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

Основната причина за това е разглеждането на пътищата за достъп към вашите елементи, което трябва да улесни нещата за заявка. Това прегледах в някои подробности тук което може да си струва да прочетете.

Може също така да е възможност за разширяване на това за нещо като вашето поле за име:

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

Всичко ще зависи от вашите изисквания за индексиране и достъп. Всичко наистина зависи от това от какво точно се нуждае вашето приложение и красотата на MongoDB е, че ви позволява да структурирате документите си според вашите нужди.

P.S Що се отнася до всичко, където съхранявате пари стойности, предлагам ви да прочетете малко и да започнете може би с тази публикация тук:

MongoDB - Какво ще кажете за десетичния тип на стойност?




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB текуща обща сума като агрегиране на предишни записи до появата на стойност

  2. MongoDB:Проблеми при използване на $concat за актуализиране на стойността на поле

  3. Ефективност на групово вмъкване в MongoDB за големи колекции

  4. SQL COALESCE() Обяснено

  5. Има ли начин да принудите mongodb да съхранява определен индекс в ram?