MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Atrybuty wielojęzyczne w MongoDB

Rekomendacje hurtowe dotyczące projektu schematu mogą być tutaj nieco obszernym tematem do dyskusji. Mogę jednak zasugerować, abyś rozważył umieszczenie wyświetlanych elementów w tablicy dokumentów podrzędnych, a nie pojedynczego dokumentu podrzędnego z polami dla każdego elementu.

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

Głównym tego powodem jest rozważenie ścieżek dostępu do elementów, które powinny ułatwić wyszukiwanie. Omówiłem to szczegółowo tutaj które mogą być warte przeczytania.

Może to być również możliwość rozwinięcia tego o coś takiego jak pole imienia i nazwiska:

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

Wszystko zależy od Twoich wymagań dotyczących indeksowania i dostępu. Wszystko naprawdę zależy od tego, czego dokładnie potrzebuje Twoja aplikacja, a piękno MongoDB polega na tym, że pozwala Ci uporządkować dokumenty zgodnie z Twoimi potrzebami.

PS. Jeśli chodzi o wszystko, w którym przechowujesz pieniądze wartości, proponuję przeczytać trochę i zacząć może od tego postu tutaj:

MongoDB - Co z typem dziesiętnym wartość?




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Przechowuj obraz w MongoDB za pomocą Node.js/Express i Mongoose

  2. W Mongoose Model.find() i Model.find().exec() dają ten sam wynik. Po co więc zawracać sobie głowę używaniem Model.find().exec()?

  3. mongo znajdź zapytanie na joda datetime

  4. Załaduj obraz z pliku binarnego (Javascript - Ajax - MongoDB)

  5. MongoDB $toLower