Esquema JSON con campo de clave dinámica en MongoDB
Desea tener un soporte i18n para objetos almacenados en la colección mongodb
Actualmente nuestro esquema es como:
{
_id: "id"
name: "name"
localization: [{
lan: "en-US",
name: "name_in_english"
}, {
lan: "zh-TW",
name: "name_in_traditional_chinese"
}]
}
pero mi pensamiento es que el campo "lan" es único, ¿puedo usar este campo como clave, así que la estructura sería
{
_id: "id"
name: "name"
localization: {
"en-US": "name_in_english",
"zh-TW": "name_in_traditional_chinese"
}
}
lo que sería mejor y más fácil de analizar (solo la localización [idioma] obtendría el valor que quiero para un idioma específico).
Pero entonces la pregunta es: ¿es una buena práctica almacenar datos en MongoDB? ¿Y cómo pasar la comprobación de esquema de JSON?