针对架构设计的整体建议可能是这里讨论的主题有点宽泛。不过,我可以建议您考虑将您所展示的元素放入Array子文档,而不是每个项目都有字段的单个子文档。
{
sku: "1011",
name: [{ "en": "cheese" }, {"de": "Käse"}, {"es": "queso"}, etc... ],
price: [{ "usd": 30.95 }, { "eur": 20 }, { "aud": 40 }, etc... ]
}
这样做的主要原因是考虑到访问路径到您的元素,这应该使查询更容易。这是我详细经历过的here https://stackoverflow.com/a/21639060/2313887这可能值得您阅读。
也可以对此进行扩展,例如您的姓名字段:
name: [
{ "lang": "en", "value": "cheese" },
{ "lang": "de", "value: "Käse" },
{ "lang": "es", "value": "queso" },
etc...
]
一切都取决于您的索引和访问要求。这实际上完全取决于您的应用程序的具体需求,而 MongoDB 的优点在于它允许您根据需要构建文档。
P.S至于您存储的任何东西Money值,我建议您阅读一些内容,然后从这里的这篇文章开始:
MongoDB - Decimal 类型的值怎么样? https://stackoverflow.com/questions/11541939/mongodb-what-about-decimal-type-of-value/11542549#11542549