sql >> Base de Datos >  >> NoSQL >> MongoDB

Atributos multilenguaje en MongoDB

Las recomendaciones al por mayor sobre el diseño de su esquema pueden ser un tema de discusión un poco amplio aquí. Sin embargo, puedo sugerirle que considere colocar los elementos que está mostrando en un Array de subdocumentos, en lugar del subdocumento singular con campos para cada elemento.

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

La razón principal de esto es la consideración de las vías de acceso. a sus elementos, lo que debería facilitar las consultas. Esto lo revisé con cierto detalle aquí que puede valer la pena leer.

También podría ser una posibilidad de ampliar esto para algo como su campo de nombre:

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

Todo dependería de sus requisitos de indexación y acceso. Realmente todo depende de lo que necesite exactamente su aplicación, y la belleza de MongoDB es que le permite estructurar sus documentos según sus necesidades.

PD En cuanto a cualquier cosa en la que esté almacenando Dinero valores, le sugiero que lea un poco y comience tal vez con esta publicación aquí:

MongoDB:¿qué pasa con el tipo decimal de valor?