MongoDB 国际化 (i18n)

时间:2021-05-08 09:03:51

标签: javascript node.js mongodb mongoose mongodb-atlas

我需要执行网站国际化。除了网站静态内容(已经国际化),部分内容数据存储在MongoDB中。由于我们从一开始就知道内容完成后需要翻译MongoDB数据,因此以支持未来国际化的形式创建了Schema。 Schema i18n 结构是基于属性的(因为我认为它最适合维护、未来更新和数据库查询):

{
  "propery_1": {
    "en": "value_en",
    "zh": "value_zh"
  },
  "propery_2": {
    "en": "value_en",
    "zh": "value_zh"
  }
}

我现在需要做的是提取每个集合需要翻译的所有内容,然后将其发送给某个公司进行翻译和校对,在他们将结果发回给我们后,我需要使用已翻译的内容更新数据库内容。

我阅读了所有关于 MongoDB 国际化的博客(全部 3 篇),并且每篇都只讨论了模式建模的最佳实践,而不是实际的流程实现。

我目前能想到的最好的逻辑是:

  1. 提取每个集合中每个文档需要翻译的所有字段 + 一个 JSON 文档中的 _id 字段
  2. 将该 JSON 文档发送给某家公司进行翻译和校对,并告诉他们只翻译 values
  3. 在我取回翻译后的 JSON 后,创建一个脚本来遍历每个 JSON 项,并逐一更新相关文档,将文档与 _id 匹配

有没有更好的方法来做到这一点?我可以编写一个 MongoDB 查询并在不创建脚本的情况下执行此操作吗?请注意,MongoDB 托管在 Atlas 上,那么是否有一些 Atlas 功能可以提供帮助?

欢迎所有建议!

0 个答案:

没有答案