我想使用Mongoose ODM在MongoDB中建模国际化集合。它只需要以三种语言存储String(名称)。
您如何为该架构建模?我想过这样的事情:
_id: ObjectID(...),
name: {
en: 'Ten',
es: 'Diez',
fr: 'Dix'
}
有没有办法使用枚举来表示语言代码,而不是将它们硬编码到Mongoose Schema中?我还要感谢有关如何在MongoDB中实现集合国际化的一般提示。
更新
我将最终使用mongoose-i18n插件:https://github.com/elrolito/mongoose-i18n
答案 0 :(得分:0)
也许可以帮助您。
在型号中:
first_name: {
type: String,
required: [true, "models.subscriber.required"]
},
您认为
{{#each errors }}
<p class="mb-0 ">{{ translate this}}</p>
{{/each}}
在您的本地json文件中:
"models": {
"subscriber": {
"required": "The first name is required",
}
}
答案 1 :(得分:-3)
您可以遵循以下架构:
_id: ObjectID(...),
name:[
'Ten',
'Diez',
'Dix'
]
使用这种模式优于你提到的模式的优点是查询会稍微容易一些,你可以通过引用数组中的位置来访问特定语言的字段。也可以更容易地添加更新的entires到阵列。唯一的缺点是必须遵循特定的顺序。